On Wednesday, June 13, 2012 11:15:03 AM Tanu Kaskinen wrote: > The old code accepted any word that started with "y", "Y", > "n", "N", "t", "T", "f" or "F". Fix this by having > a whitelist of full strings instead of checking just the > first letter. > --- > src/pulsecore/core-util.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c > index d79d289..e785cdc 100644 > --- a/src/pulsecore/core-util.c > +++ b/src/pulsecore/core-util.c > @@ -892,9 +892,11 @@ int pa_parse_boolean(const char *v) { > pa_assert(v); > > /* First we check language independent */ > - if (pa_streq(v, "1") || v[0] == 'y' || v[0] == 'Y' || v[0] == 't' || > v[0] == 'T' || !strcasecmp(v, "on")) + if (pa_streq(v, "1") || > !strcasecmp(v, "y") || !strcasecmp(v, "t") + || !strcasecmp(v, > "yes") || !strcasecmp(v, "true") || !strcasecmp(v, "on")) return 1; > - else if (pa_streq(v, "0") || v[0] == 'n' || v[0] == 'N' || v[0] == 'f' > || v[0] == 'F' || !strcasecmp(v, "off")) + else if (pa_streq(v, "0") || > !strcasecmp(v, "n") || !strcasecmp(v, "f") + || > !strcasecmp(v, "no") || !strcasecmp(v, "false") || !strcasecmp(v, "off")) > return 0; > > #ifdef HAVE_LANGINFO_H No feedback received. I applied this to the next branch. -- Tanu