]> code.delx.au - pulseaudio/commitdiff
proplist: allow setting of zero-length data properties
authorLennart Poettering <lennart@poettering.net>
Thu, 27 Aug 2009 03:33:45 +0000 (05:33 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 27 Aug 2009 03:33:45 +0000 (05:33 +0200)
src/pulse/proplist.c

index c904f533e9ec6b9fa52b7118c82efb14c49f3ac7..048b241a5b6872b25aad0664c82c8c90bdf5e74e 100644 (file)
@@ -251,7 +251,7 @@ int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nb
 
     pa_assert(p);
     pa_assert(key);
-    pa_assert(data);
+    pa_assert(data || nbytes == 0);
 
     if (!property_name_valid(key))
         return -1;
@@ -264,7 +264,8 @@ int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nb
         pa_xfree(prop->value);
 
     prop->value = pa_xmalloc(nbytes+1);
-    memcpy(prop->value, data, nbytes);
+    if (nbytes > 0)
+        memcpy(prop->value, data, nbytes);
     ((char*) prop->value)[nbytes] = 0;
     prop->nbytes = nbytes;