From ab9023f75211c76a30d2c276cbb6536a2b80a21c Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 12 May 2021 17:44:57 +0200 Subject: [PATCH] pulse-server: improve module argument parsing ticks also delimit strings. Unescape values. Fixes #1173 --- src/modules/module-protocol-pulse/module.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/modules/module-protocol-pulse/module.c b/src/modules/module-protocol-pulse/module.c index 4ef64b76f..76ed0221e 100644 --- a/src/modules/module-protocol-pulse/module.c +++ b/src/modules/module-protocol-pulse/module.c @@ -127,15 +127,19 @@ void module_args_add_props(struct pw_properties *props, const char *str) if (*p == '\"') { p++; f = '\"'; + } else if (*p == '\'') { + p++; + f = '\''; } else { f = ' '; } v = p; - e = strchr(p, f); - if (e == NULL) - e = strchr(p, '\0'); - if (e == NULL) - break; + for (e = p; *e ; e++) { + if (*e == f) + break; + if (*e == '\\') + e++; + } p = e; if (*e != '\0') p++;