]> granicus.if.org Git - libevent/commitdiff
Fix resource leaks in the unit tests; found by coverity
authorNick Mathewson <nickm@torproject.org>
Thu, 26 Jul 2012 13:53:20 +0000 (09:53 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 26 Jul 2012 13:53:20 +0000 (09:53 -0400)
test/regress_http.c
test/regress_testutils.c

index a8b21ce23af5acbc76f3122351e024d55eb6a1ca..cc3bf27a8353f2a846643c66cb90ecb68d5eb051 100644 (file)
@@ -2660,9 +2660,11 @@ http_chunked_errorcb(struct bufferevent *bev, short what, void *arg)
                if (header == NULL)
                        goto out;
                /* 13 chars */
-               if (strcmp(header, "d"))
+               if (strcmp(header, "d")) {
+                       free((void*)header);
                        goto out;
-               free((char*)header);
+               }
+               free((void*)header);
 
                if (strncmp((char *)evbuffer_pullup(bufferevent_get_input(bev), 13),
                        "This is funny", 13))
@@ -2688,8 +2690,10 @@ http_chunked_errorcb(struct bufferevent *bev, short what, void *arg)
                if (header == NULL)
                        goto out;
                /* 8 chars */
-               if (strcmp(header, "8"))
+               if (strcmp(header, "8")) {
+                       free((void*)header);
                        goto out;
+               }
                free((char *)header);
 
                if (strncmp((char *)evbuffer_pullup(bufferevent_get_input(bev), 8),
@@ -2702,9 +2706,11 @@ http_chunked_errorcb(struct bufferevent *bev, short what, void *arg)
                if (header == NULL)
                        goto out;
                /* 0 chars */
-               if (strcmp(header, "0"))
+               if (strcmp(header, "0")) {
+                       free((void*)header);
                        goto out;
-               free((char *)header);
+               }
+               free((void *)header);
 
                test_ok = 2;
 
index 9b3046e0033fce15cd3d24247e00d9b08972343a..aedaef409f1c66bd7f5462ff2e37abbd175772e0 100644 (file)
@@ -102,7 +102,7 @@ regress_get_dnsserver(struct event_base *base,
        struct sockaddr_in my_addr;
 
        sock = socket(AF_INET, SOCK_DGRAM, 0);
-       if (sock <= 0) {
+       if (sock < 0) {
                tt_abort_perror("socket");
        }
 
@@ -113,6 +113,7 @@ regress_get_dnsserver(struct event_base *base,
        my_addr.sin_port = htons(*portnum);
        my_addr.sin_addr.s_addr = htonl(0x7f000001UL);
        if (bind(sock, (struct sockaddr*)&my_addr, sizeof(my_addr)) < 0) {
+               evutil_closesocket(sock);
                tt_abort_perror("bind");
        }
        port = evdns_add_server_port_with_base(base, sock, 0, cb, arg);