]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
dns: fix passing NULL to memcpy
authorVictor Julien <victor@inliniac.net>
Wed, 11 Dec 2013 09:11:13 +0000 (10:11 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 12 Dec 2013 14:59:58 +0000 (15:59 +0100)
app-layer-dns-common.c:401:5: warning: Null pointer passed as \
                              an argument to a 'nonnull' parameter
    memcpy(ptr, fqdn, fqdn_len);

src/app-layer-dns-common.c

index 5110902ec7638d682a8227032eca7abb5fa2705a..6e79fc1204c7d7e57cd6e7ac1ab18d11aa3023ba 100644 (file)
@@ -398,9 +398,13 @@ void DNSStoreAnswerInState(DNSState *dns_state, const int rtype, const uint8_t *
     q->data_len = data_len;
 
     uint8_t *ptr = (uint8_t *)q + sizeof(DNSAnswerEntry);
-    memcpy(ptr, fqdn, fqdn_len);
-    ptr += fqdn_len;
-    memcpy(ptr, data, data_len);
+    if (fqdn != NULL && fqdn_len > 0) {
+        memcpy(ptr, fqdn, fqdn_len);
+        ptr += fqdn_len;
+    }
+    if (data != NULL && data_len > 0) {
+        memcpy(ptr, data, data_len);
+    }
 
     if (rtype == DNS_LIST_ANSWER)
         TAILQ_INSERT_TAIL(&tx->answer_list, q, next);