dnsmsq: fix not properly handled null pointer checker

check p incase skip_questions returns null and bad return
0 - (unsigned char *)header

Test: mma -j8
Change-Id: I50e64cc8d1a0a8eb53eb868903927e92ec46c1b7
diff --git a/src/rfc1035.c b/src/rfc1035.c
index e440e8a..d4e9bf5 100755
--- a/src/rfc1035.c
+++ b/src/rfc1035.c
@@ -902,8 +902,11 @@
 size_t setup_reply(HEADER *header, size_t qlen,
 		struct all_addr *addrp, unsigned short flags, unsigned long ttl)
 {
-  unsigned char *p = skip_questions(header, qlen);
-  
+  unsigned char *p;
+
+  if (!(p = skip_questions(header, qlen)))
+    return 0;
+
   header->qr = 1; /* response */
   header->aa = 0; /* authoritive */
   header->ra = 1; /* recursion if available */
@@ -917,7 +920,7 @@
     header->rcode = NOERROR; /* empty domain */
   else if (flags == F_NXDOMAIN)
     header->rcode = NXDOMAIN;
-  else if (p && flags == F_IPV4)
+  else if (flags == F_IPV4)
     { /* we know the address */
       header->rcode = NOERROR;
       header->ancount = htons(1);
@@ -925,7 +928,7 @@
       add_resource_record(header, NULL, NULL, sizeof(HEADER), &p, ttl, NULL, T_A, C_IN, "4", addrp);
     }
 #ifdef HAVE_IPV6
-  else if (p && flags == F_IPV6)
+  else if (flags == F_IPV6)
     {
       header->rcode = NOERROR;
       header->ancount = htons(1);