s4-client: Make sure entry is a valid string.
authorAndreas Schneider <asn@samba.org>
Mon, 25 Feb 2013 13:58:45 +0000 (14:58 +0100)
committerDavid Disseldorp <ddiss@suse.de>
Tue, 5 Mar 2013 22:29:58 +0000 (23:29 +0100)
Reviewed-by: David Disseldorp <ddiss@samba.org>
source4/client/client.c

index 43b0903cdc625820721ac7054f6c2aa68e65672b..66c21dfc547b4fec8f19ab1e7756c6654b94590f 100644 (file)
@@ -454,7 +454,13 @@ static void adjust_do_list_queue(void)
 static void add_to_do_list_queue(const char* entry)
 {
        char *dlq;
-       long new_end = do_list_queue_end + ((long)strlen(entry)) + 1;
+       long new_end;
+
+       if (entry == NULL) {
+               entry = "";
+       }
+
+       new_end = do_list_queue_end + ((long)strlen(entry)) + 1;
        while (new_end > do_list_queue_size)
        {
                do_list_queue_size *= 2;
@@ -475,7 +481,7 @@ static void add_to_do_list_queue(const char* entry)
        }
        if (do_list_queue)
        {
-               strlcpy(do_list_queue + do_list_queue_end, entry ? entry : "",
+               strlcpy(do_list_queue + do_list_queue_end, entry,
                            do_list_queue_size - do_list_queue_end);
                do_list_queue_end = new_end;
                DEBUG(4,("added %s to do_list_queue (start=%d, end=%d)\n",