Kaynağa Gözat

check malloc return values

Christian Grothoff 15 yıl önce
ebeveyn
işleme
f33a16a615

+ 2 - 0
src/testcurl/daemontest_get_chunked.c

@@ -111,6 +111,8 @@ ahc_echo (void *cls,
       return MHD_YES;
     }
   responseptr = malloc (sizeof (struct MHD_Response *));
+  if (responseptr == NULL)
+    return MHD_NO;
   response = MHD_create_response_from_callback (-1,
                                                 1024,
                                                 &crc, responseptr, &crcf);

+ 1 - 0
src/testcurl/daemontest_large_put.c

@@ -456,6 +456,7 @@ main (int argc, char *const *argv)
   if (0 != curl_global_init (CURL_GLOBAL_WIN32))
     return 2;
   put_buffer = malloc (PUT_SIZE);
+  if (NULL == put_buffer) return 1;
   memset (put_buffer, 1, PUT_SIZE);
   errorCount += testInternalPut ();
   errorCount += testMultithreadedPut ();

+ 10 - 0
src/testcurl/daemontest_long_header.c

@@ -112,6 +112,11 @@ testLongUrlGet ()
     return 1;
   c = curl_easy_init ();
   url = malloc (VERY_LONG);
+  if (url == NULL)
+    {
+	MHD_stop_daemon (d);
+ 	return 1;
+    }
   memset (url, 'a', VERY_LONG);
   url[VERY_LONG - 1] = '\0';
   memcpy (url, "http://localhost:1080/", strlen ("http://localhost:1080/"));
@@ -178,6 +183,11 @@ testLongHeaderGet ()
     return 16;
   c = curl_easy_init ();
   url = malloc (VERY_LONG);
+  if (url == NULL)
+     {
+	MHD_stop_daemon (d);
+	return 16;
+     }
   memset (url, 'a', VERY_LONG);
   url[VERY_LONG - 1] = '\0';
   url[VERY_LONG / 2] = ':';

+ 5 - 1
src/testcurl/https/tls_extension_test.c

@@ -93,7 +93,11 @@ test_hello_extension (gnutls_session_t session, extensions_t exten_t,
   datalen = 2 /* version */ + TLS_RANDOM_SIZE + (session_id_len + 1);
 
   data = MHD_gnutls_malloc (datalen);
-
+  if (data == NULL)
+      {
+	 free (cbc.buf);
+	 return -1;
+      }
   hver = MHD_gtls_version_max (session);
   data[pos++] = MHD_gtls_version_get_major (hver);
   data[pos++] = MHD_gtls_version_get_minor (hver);

+ 13 - 1
src/testcurl/https/tls_test_common.c

@@ -372,9 +372,18 @@ setup_session (gnutls_session_t * session,
   gnutls_certificate_allocate_credentials (xcred);
   key->size = strlen (srv_key_pem);
   key->data = malloc (key->size);
+  if (key->data == NULL) 
+     {
+	return -1;
+     }
   memcpy (key->data, srv_key_pem, key->size);
   cert->size = strlen (srv_self_signed_cert_pem);
   cert->data = malloc (cert->size);
+  if (cert->data == NULL)
+    {
+	free (key->data); 
+	return -1;
+    }
   memcpy (cert->data, srv_self_signed_cert_pem, cert->size);
   gnutls_certificate_set_x509_key_mem (*xcred, cert, key,
 				       GNUTLS_X509_FMT_PEM);
@@ -382,7 +391,10 @@ setup_session (gnutls_session_t * session,
   ret = gnutls_priority_set_direct (*session,
 				    "NORMAL", &err_pos);
   if (ret < 0)
-    return -1;
+    {
+       free (key->data);
+       return -1;
+    }
   gnutls_credentials_set (*session, 
 			  GNUTLS_CRD_CERTIFICATE, 
 			  xcred);