]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: Added asserts to all refcount increments.
authorTimo Sirainen <tss@iki.fi>
Mon, 28 Sep 2015 10:54:28 +0000 (13:54 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 28 Sep 2015 10:54:28 +0000 (13:54 +0300)
These could catch situations where an already freed object's refcount is
attempted to be increased.

src/lib-http/http-client-connection.c
src/lib-http/http-client-request.c
src/lib-http/http-server-connection.c
src/lib-http/http-server-request.c

index 450ddc6f79beb808fa61a810c495effbbed28dc9..6bf3a38ad2909238946e7acb07a8f49fecf2ab96 100644 (file)
@@ -1294,6 +1294,7 @@ http_client_connection_create(struct http_client_peer *peer)
 
 void http_client_connection_ref(struct http_client_connection *conn)
 {
+       i_assert(conn->refcount > 0);
        conn->refcount++;
 }
 
index 5455b2e1c4f711b862b0a947b3b3dfe851992eac..6d2d91b01620c43c6f81da69d003bec2be1f2194 100644 (file)
@@ -150,6 +150,7 @@ http_client_request_connect_ip(struct http_client *client,
 
 void http_client_request_ref(struct http_client_request *req)
 {
+       i_assert(req->refcount > 0);
        req->refcount++;
 }
 
index c42db8188a3e74298b3cc12c132d12f6f85c569c..229764d943168950124fc45a75262c500ae2be02 100644 (file)
@@ -831,6 +831,7 @@ http_server_connection_create(struct http_server *server,
 
 void http_server_connection_ref(struct http_server_connection *conn)
 {
+       i_assert(conn->refcount > 0);
        conn->refcount++;
 }
 
index ed77c04f794f2d6ecdc11ee7c53f778204327a59..e8d083987bf918966da15cace0b03d277571ef4e 100644 (file)
@@ -23,6 +23,7 @@ http_server_request_new(struct http_server_connection *conn)
 
 void http_server_request_ref(struct http_server_request *req)
 {
+       i_assert(req->refcount > 0);
        req->refcount++;
 }