]> git.sur5r.net Git - bacula/bacula/commitdiff
Handle NULL pointers in smartdump() and asciidump()
authorEric Bollengier <eric@baculasystems.com>
Thu, 14 Jul 2016 11:43:57 +0000 (13:43 +0200)
committerKern Sibbald <kern@sibbald.com>
Tue, 20 Sep 2016 15:06:42 +0000 (17:06 +0200)
bacula/src/lib/util.c

index 4456c80a25b512d40ab8ec0494b060ee00e75b43..88de1b0cac2a32b2cb0dae9482125d0942d80818 100644 (file)
@@ -199,6 +199,10 @@ char *asciidump(const char *data, int len, char *buf, int capacity)
 {
    char *b=buf;
    const unsigned char *p=(const unsigned char *)data;
+   if (!data) {
+      strncpy(buf, "<NULL>", capacity);
+      return buf;
+   }
    while (len>0 && capacity>1) {
       if (isprint(*p)) {
          *(b++)=*(p++);
@@ -223,6 +227,10 @@ char *smartdump(const char *data, int len, char *buf, int capacity, bool *is_asc
    int l=len;
    int c=capacity;
    const unsigned char *p=(const unsigned char *)data;
+   if (!data) {
+      strncpy(buf, "<NULL>", capacity);
+      return buf;
+   }
    if (is_ascii != NULL) {
       *is_ascii = false;
    }