Imported Upstream version 7.50.2
[platform/upstream/curl.git] / tests / libtest / libntlmconnect.c
index a960967..736222d 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 2012 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -47,7 +47,7 @@ static size_t callback(char* ptr, size_t size, size_t nmemb, void* data)
   const size_t failure = (size * nmemb) ? 0 : 1;
 
   char *output = malloc(size * nmemb + 1);
-  if (!output) {
+  if(!output) {
     fprintf(stderr, "output, malloc() failed\n");
     res = TEST_ERR_MAJOR_BAD;
     return failure;
@@ -60,25 +60,25 @@ static size_t callback(char* ptr, size_t size, size_t nmemb, void* data)
 
   /* Get socket being used for this easy handle, otherwise CURL_SOCKET_BAD */
   code = curl_easy_getinfo(easy[idx], CURLINFO_LASTSOCKET, &longdata);
-  if (CURLE_OK != code) {
+  if(CURLE_OK != code) {
     fprintf(stderr, "%s:%d curl_easy_getinfo() failed, "
             "with code %d (%s)\n",
             __FILE__, __LINE__, (int)code, curl_easy_strerror(code));
     res = TEST_ERR_MAJOR_BAD;
     return failure;
   }
-  if (longdata == -1L)
+  if(longdata == -1L)
     sock = CURL_SOCKET_BAD;
   else
     sock = (curl_socket_t)longdata;
 
-  if (sock != CURL_SOCKET_BAD) {
+  if(sock != CURL_SOCKET_BAD) {
     /* Track relationship between this easy handle and the socket. */
-    if (sockets[idx] == CURL_SOCKET_BAD) {
+    if(sockets[idx] == CURL_SOCKET_BAD) {
       /* An easy handle without previous socket, record the socket. */
       sockets[idx] = sock;
     }
-    else if (sock != sockets[idx]) {
+    else if(sock != sockets[idx]) {
       /* An easy handle with a socket different to previously
          tracked one, log and fail right away. Known bug #37. */
       fprintf(stderr, "Handle %d started on socket %d and moved to %d\n",
@@ -103,16 +103,17 @@ int test(char *url)
   int i, j;
   int num_handles = 0;
   enum HandleState state = ReadyForNewHandle;
-  char* full_url = malloc(strlen(url) + 4 + 1);
+  size_t urllen = strlen(url) + 4 + 1;
+  char* full_url = malloc(urllen);
 
   start_test_timing();
 
-  if (!full_url) {
+  if(!full_url) {
     fprintf(stderr, "Not enough memory for full url\n");
     return TEST_ERR_MAJOR_BAD;
   }
 
-  for (i = 0; i < MAX_EASY_HANDLES; ++i) {
+  for(i = 0; i < MAX_EASY_HANDLES; ++i) {
     easy[i] = NULL;
     sockets[i] = CURL_SOCKET_BAD;
   }
@@ -141,14 +142,15 @@ int test(char *url)
     bool found_new_socket = FALSE;
 
     /* Start a new handle if we aren't at the max */
-    if (state == ReadyForNewHandle) {
+    if(state == ReadyForNewHandle) {
       easy_init(easy[num_handles]);
 
-      if (num_handles % 3 == 2) {
-        sprintf(full_url, "%s0200", url);
+      if(num_handles % 3 == 2) {
+        snprintf(full_url, urllen, "%s0200", url);
         easy_setopt(easy[num_handles], CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
-      } else {
-        sprintf(full_url, "%s0100", url);
+      }
+      else {
+        snprintf(full_url, urllen, "%s0100", url);
         easy_setopt(easy[num_handles], CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
       }
       easy_setopt(easy[num_handles], CURLOPT_FRESH_CONNECT, 1L);
@@ -181,34 +183,34 @@ int test(char *url)
     /* At this point, maxfd is guaranteed to be greater or equal than -1. */
 
     /* Any socket which is new in fdread is associated with the new handle */
-    for (i = 0; i <= maxfd; ++i) {
+    for(i = 0; i <= maxfd; ++i) {
       bool socket_exists = FALSE;
       curl_socket_t curfd = (curl_socket_t)i;
 
-      if (!FD_ISSET(curfd, &fdread)) {
+      if(!FD_ISSET(curfd, &fdread)) {
         continue;
       }
 
       /* Check if this socket was already detected for an earlier handle (or
          for this handle, num_handles-1, in the callback */
-      for (j = 0; j < num_handles; ++j) {
-        if (sockets[j] == curfd) {
+      for(j = 0; j < num_handles; ++j) {
+        if(sockets[j] == curfd) {
           socket_exists = TRUE;
           break;
         }
       }
-      if (socket_exists) {
+      if(socket_exists) {
         continue;
       }
 
-      if (found_new_socket || state != NeedSocketForNewHandle) {
+      if(found_new_socket || state != NeedSocketForNewHandle) {
         fprintf(stderr, "Unexpected new socket\n");
         res = TEST_ERR_MAJOR_BAD;
         goto test_cleanup;
       }
 
       /* Now we know the socket is for the most recent handle, num_handles-1 */
-      if (sockets[num_handles-1] != CURL_SOCKET_BAD) {
+      if(sockets[num_handles-1] != CURL_SOCKET_BAD) {
         /* A socket for this handle was already detected in the callback; if it
            matched socket_exists should be true and we would never get here */
         assert(curfd != sockets[num_handles-1]);
@@ -224,7 +226,7 @@ int test(char *url)
       }
     }
 
-    if (state == NeedSocketForNewHandle) {
+    if(state == NeedSocketForNewHandle) {
       if(maxfd != -1 && !found_new_socket) {
         fprintf(stderr, "Warning: socket did not open immediately for new "
                 "handle (trying again)\n");