]> ruderich.org/simon Gitweb - tlsproxy/tlsproxy.git/commitdiff
tests/client.c: Sync with connection.c.
authorSimon Ruderich <simon@ruderich.org>
Thu, 2 Jan 2014 14:54:37 +0000 (15:54 +0100)
committerSimon Ruderich <simon@ruderich.org>
Thu, 2 Jan 2014 14:54:37 +0000 (15:54 +0100)
tests/client.c

index 798c5cbdc3ff4aaf3fcde75fe6756d5a5b9e7a4f..4995536c548bdd14f4e2fcd661c9c3e175b20205 100644 (file)
@@ -20,7 +20,9 @@
 #include <config.h>
 
 #include <arpa/inet.h>
+#include <assert.h>
 #include <errno.h>
+#include <limits.h>
 #include <netdb.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -98,7 +100,7 @@ int main (int argc, char *argv[]) {
     }
     fprintf(fd_write, "\r\n");
     fflush(fd_write);
-    if (read_http_request(fd_read, buffer, sizeof(buffer)) == -1) {
+    if (read_http_request(fd_read, buffer, sizeof(buffer)) != 0) {
         fprintf(stderr, "invalid proxy response\n");
         return EXIT_FAILURE;
     }
@@ -271,6 +273,7 @@ static int connect_to_host(const char *hostname, const char *port) {
 static int read_http_request(FILE *client_fd, char *request, size_t length) {
     char buffer[MAX_REQUEST_LINE];
 
+    assert(length <= INT_MAX);
     if (fgets(request, (int)length, client_fd) == NULL) {
         if (ferror(client_fd)) {
             perror("read_http_request(): fgets()");
@@ -289,6 +292,8 @@ static int read_http_request(FILE *client_fd, char *request, size_t length) {
     if (ferror(client_fd)) {
         perror("read_http_request(): fgets()");
         return -1;
+    } else if (feof(client_fd)) {
+        return -2;
     }
 
     return 0;