birkch / rpms / pulseaudio

Forked from rpms/pulseaudio 3 years ago
Clone
Blob Blame History Raw
From b10bddf99bdda3a776d5f92bcb7c07a2b16b91e0 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Thu, 27 Aug 2009 05:33:45 +0200
Subject: [PATCH 4/5] proplist: allow setting of zero-length data properties

---
 src/pulse/proplist.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/pulse/proplist.c b/src/pulse/proplist.c
index db4c934..274f708 100644
--- a/src/pulse/proplist.c
+++ b/src/pulse/proplist.c
@@ -236,7 +236,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;
@@ -249,7 +249,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;
 
-- 
1.6.4.2