]> granicus.if.org Git - curl/commitdiff
GetLine() didn't properly act on -1 lengths returned from Curl_read()
authorDaniel Stenberg <daniel@haxx.se>
Wed, 7 Feb 2001 09:31:03 +0000 (09:31 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 7 Feb 2001 09:31:03 +0000 (09:31 +0000)
lib/http.c

index 9fe056c5f9345b48d9086a906921a72a19ab3ab0..54623ec6bc3619b327a97d42e96fa0f2b181d194 100644 (file)
@@ -226,17 +226,18 @@ int GetLine(int sockfd, char *buf, struct connectdata *conn)
       (nread<BUFSIZE) && read_rc;
       nread++, ptr++) {
     if((CURLE_OK != Curl_read(conn, sockfd, ptr, 1, &nread)) ||
+       (nread <= 0) ||
        (*ptr == '\n'))
       break;
   }
   *ptr=0; /* zero terminate */
-
+  
   if(data->bits.verbose) {
     fputs("< ", data->err);
     fwrite(buf, 1, nread, data->err);
     fputs("\n", data->err);
   }
-  return nread;
+  return nread>0?nread:0;
 }