configure.ac | 11 +++++++---- src/modules/dbus/iface-core.c | 2 +- src/pulse/proplist.c | 12 ++++++------ src/pulsecore/core-util.c | 6 +++--- src/pulsecore/ltdl-helper.c | 2 +- src/pulsecore/modargs.c | 8 ++++---- 6 files changed, 22 insertions(+), 19 deletions(-)
New commits: commit 7f4acbd1c045ab3c6ae09ba221d2ba8c5bf880e9 Author: Kamil Rytarowski <n...@gmx.com> Date: Tue Dec 8 04:22:42 2015 +0100 netbsd: Revamp NetBSD platform checks diff --git a/configure.ac b/configure.ac index 86b28d3..b9cd3d1 100644 --- a/configure.ac +++ b/configure.ac @@ -137,6 +137,9 @@ case "$host_os" in AC_MSG_RESULT([freebsd]) host_has_caps=1 ;; + netbsd*) + AC_MSG_RESULT([netbsd]) + ;; darwin*) AC_MSG_RESULT([darwin]) os_is_darwin=1 @@ -257,6 +260,10 @@ else # HW specific atomic ops stuff AC_MSG_CHECKING([architecture for native atomic operations]) case $host in + *-netbsd*) + AC_MSG_RESULT([yes]) + need_libatomic_ops=no + ;; arm*) AC_MSG_RESULT([arm]) AC_MSG_CHECKING([whether we can use Linux kernel helpers]) @@ -292,10 +299,6 @@ else ]) fi ;; - *-netbsdelf5*) - AC_MSG_RESULT([yes]) - need_libatomic_ops=no - ;; *-freebsd*) AC_MSG_RESULT([yes]) need_libatomic_ops=no commit 93cccdee8d80905f3df79822c1682baf5d3c4c95 Author: Kamil Rytarowski <n...@gmx.com> Date: Fri Nov 20 04:20:36 2015 +0100 core, pulse, modules: Fix undefined behavior with array subscript of invalid type From the NetBSD manual: The first argument of these functions is of type int, but only a very restricted subset of values are actually valid. The argument must either be the value of the macro EOF (which has a negative value), or must be a non-negative value within the range representable as unsigned char. Passing invalid values leads to undefined behavior. -- ctype(3) diff --git a/src/modules/dbus/iface-core.c b/src/modules/dbus/iface-core.c index 1b14195..88e9030 100644 --- a/src/modules/dbus/iface-core.c +++ b/src/modules/dbus/iface-core.c @@ -1442,7 +1442,7 @@ static bool contains_space(const char *string) { pa_assert(string); for (p = string; *p; ++p) { - if (isspace(*p)) + if (isspace((unsigned char)*p)) return true; } diff --git a/src/pulse/proplist.c b/src/pulse/proplist.c index 4e2901b..d8c6404 100644 --- a/src/pulse/proplist.c +++ b/src/pulse/proplist.c @@ -480,7 +480,7 @@ pa_proplist *pa_proplist_from_string(const char *s) { goto success; else if (*p == '=') goto fail; - else if (!isspace(*p)) { + else if (!isspace((unsigned char)*p)) { key = p; state = KEY; key_len = 1; @@ -492,7 +492,7 @@ pa_proplist *pa_proplist_from_string(const char *s) { goto fail; else if (*p == '=') state = VALUE_START; - else if (isspace(*p)) + else if (isspace((unsigned char)*p)) state = AFTER_KEY; else key_len++; @@ -503,7 +503,7 @@ pa_proplist *pa_proplist_from_string(const char *s) { goto fail; else if (*p == '=') state = VALUE_START; - else if (!isspace(*p)) + else if (!isspace((unsigned char)*p)) goto fail; break; @@ -523,7 +523,7 @@ pa_proplist *pa_proplist_from_string(const char *s) { state = VALUE_DOUBLE_QUOTES; value = p+1; value_len = 0; - } else if (!isspace(*p)) { + } else if (!isspace((unsigned char)*p)) { state = VALUE_SIMPLE; value = p; value_len = 1; @@ -531,7 +531,7 @@ pa_proplist *pa_proplist_from_string(const char *s) { break; case VALUE_SIMPLE: - if (*p == 0 || isspace(*p)) { + if (*p == 0 || isspace((unsigned char)*p)) { if (proplist_setn(pl, key, key_len, value, value_len) < 0) goto fail; @@ -610,7 +610,7 @@ pa_proplist *pa_proplist_from_string(const char *s) { (*p >= 'A' && *p <= 'F') || (*p >= 'a' && *p <= 'f')) { value_len++; - } else if (*p == 0 || isspace(*p)) { + } else if (*p == 0 || isspace((unsigned char)*p)) { if (proplist_sethex(pl, key, key_len, value, value_len) < 0) goto fail; diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 1eb534a..19c89a9 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -2332,7 +2332,7 @@ int pa_atou(const char *s, uint32_t *ret_u) { pa_assert(ret_u); /* strtoul() ignores leading spaces. We don't. */ - if (isspace(*s)) { + if (isspace((unsigned char)*s)) { errno = EINVAL; return -1; } @@ -2376,7 +2376,7 @@ int pa_atol(const char *s, long *ret_l) { pa_assert(ret_l); /* strtol() ignores leading spaces. We don't. */ - if (isspace(*s)) { + if (isspace((unsigned char)*s)) { errno = EINVAL; return -1; } @@ -2421,7 +2421,7 @@ int pa_atod(const char *s, double *ret_d) { pa_assert(ret_d); /* strtod() ignores leading spaces. We don't. */ - if (isspace(*s)) { + if (isspace((unsigned char)*s)) { errno = EINVAL; return -1; } diff --git a/src/pulsecore/ltdl-helper.c b/src/pulsecore/ltdl-helper.c index 4e003c9..cfdde26 100644 --- a/src/pulsecore/ltdl-helper.c +++ b/src/pulsecore/ltdl-helper.c @@ -53,7 +53,7 @@ pa_void_func_t pa_load_sym(lt_dlhandle handle, const char *module, const char *s sn = pa_sprintf_malloc("%s_LTX_%s", module, symbol); for (c = sn; *c; c++) - if (!isalnum(*c)) + if (!isalnum((unsigned char)*c)) *c = '_'; f = (pa_void_func_t) lt_dlsym(handle, sn); diff --git a/src/pulsecore/modargs.c b/src/pulsecore/modargs.c index 7b68346..b3c0313 100644 --- a/src/pulsecore/modargs.c +++ b/src/pulsecore/modargs.c @@ -131,7 +131,7 @@ pa_modargs *pa_modargs_new(const char *args, const char* const* valid_keys) { case WHITESPACE: if (*p == '=') goto fail; - else if (!isspace(*p)) { + else if (!isspace((unsigned char)*p)) { key = p; state = KEY; key_len = 1; @@ -141,7 +141,7 @@ pa_modargs *pa_modargs_new(const char *args, const char* const* valid_keys) { case KEY: if (*p == '=') state = VALUE_START; - else if (isspace(*p)) + else if (isspace((unsigned char)*p)) goto fail; else key_len++; @@ -156,7 +156,7 @@ pa_modargs *pa_modargs_new(const char *args, const char* const* valid_keys) { state = VALUE_DOUBLE_QUOTES; value = p+1; value_len = 0; - } else if (isspace(*p)) { + } else if (isspace((unsigned char)*p)) { if (add_key_value(ma, pa_xstrndup(key, key_len), pa_xstrdup(""), @@ -175,7 +175,7 @@ pa_modargs *pa_modargs_new(const char *args, const char* const* valid_keys) { break; case VALUE_SIMPLE: - if (isspace(*p)) { + if (isspace((unsigned char)*p)) { if (add_key_value(ma, pa_xstrndup(key, key_len), pa_xstrndup(value, value_len), _______________________________________________ pulseaudio-commits mailing list pulseaudio-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits