]> granicus.if.org Git - curl/commitdiff
transfer: Fixed existing scratch buffer being checked for NULL twice
authorSteve Holme <steve_holme@hotmail.com>
Sun, 30 Nov 2014 14:45:20 +0000 (14:45 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 30 Nov 2014 15:06:13 +0000 (15:06 +0000)
If the scratch buffer already existed when the CRLF conversion was
performed then the buffer pointer would be checked twice for NULL. This
second check is only necessary if the call to malloc() was performed by
the first check.

lib/transfer.c

index 84a7e2be44faedb6f025216717d7b232e6348e92..2cc7f78815604d4cb531a29c4bbf941a4f69add7 100644 (file)
@@ -910,11 +910,12 @@ static CURLcode readwrite_upload(struct SessionHandle *data,
          (data->set.prefer_ascii) ||
 #endif
          (data->set.crlf))) {
-        if(data->state.scratch == NULL)
-          data->state.scratch = malloc(2*BUFSIZE);
         if(data->state.scratch == NULL) {
-          failf (data, "Failed to alloc scratch buffer!");
-          return CURLE_OUT_OF_MEMORY;
+          data->state.scratch = malloc(2*BUFSIZE);
+          if(data->state.scratch == NULL) {
+            failf (data, "Failed to alloc scratch buffer!");
+            return CURLE_OUT_OF_MEMORY;
+          }
         }
         /*
          * ASCII/EBCDIC Note: This is presumably a text (not binary)