[FIX] pack_string: correct null string handling
authorNikita Kalyazin <n.kalyazin@samsung.com>
Mon, 2 Dec 2013 05:00:15 +0000 (09:00 +0400)
committerNikita Kalyazin <n.kalyazin@samsung.com>
Mon, 2 Dec 2013 05:00:15 +0000 (09:00 +0400)
Change-Id: Ic3d7ea27c78b820625958148e473da810efa2d2e
Signed-off-by: Nikita Kalyazin <n.kalyazin@samsung.com>
include/binproto.h

index 28631e1..1e90042 100644 (file)
@@ -90,9 +90,14 @@ static inline char *pack_int64(char *to, uint64_t val)
 
 static char __attribute__((used)) *pack_string(char *to, const char *str)
 {
-       size_t len = strlen(str) + 1;
-       strncpy(to, str, len);
-       return to + len;
+       if (!str) {
+               *to = '\0';
+               return to + 1;
+       } else {
+               size_t len = strlen(str) + 1;
+               strncpy(to, str, len);
+               return to + len;
+       }
 }
 
 static char __attribute__((used)) *pack_bin(char *to, const char *from,