[pulseaudio-commits] 2 commits - configure.ac src/modules src/pulse src/pulsecore

Arun Raghavan arun at kemper.freedesktop.org
Mon Dec 7 19:29:12 PST 2015


 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 <n54 at 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 <n54 at 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),



More information about the pulseaudio-commits mailing list