]> granicus.if.org Git - curl/commitdiff
Fixed an OOM condition reported by Jim Meyering
authorDaniel Stenberg <daniel@haxx.se>
Sat, 15 Nov 2008 23:07:35 +0000 (23:07 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 15 Nov 2008 23:07:35 +0000 (23:07 +0000)
ares/ares_parse_ptr_reply.c

index 13ff6521e4c4836b929af85a46ab41f82f03e53a..c5d8e14c8e7496efc087f4c8f734af3997b86d8d 100644 (file)
@@ -125,8 +125,15 @@ int ares_parse_ptr_reply(const unsigned char *abuf, int alen, const void *addr,
             }
           strncpy(aliases[aliascnt], rr_data, strlen(rr_data)+1);
           aliascnt++;
-          if ((aliascnt%8)==0)
-            aliases = realloc(aliases, (aliascnt/16+1) * sizeof(char *));
+          if ((aliascnt%8)==0) {
+            char **ptr;
+            ptr = realloc(aliases, (aliascnt/16+1) * sizeof(char *));
+            if(!ptr) {
+              status = ARES_ENOMEM;
+              break;
+            }
+            aliases = ptr;
+          }
         }
 
       if (rr_class == C_IN && rr_type == T_CNAME)