[BUG] appsession: possible memory leak in case of out of memory condition

I've tried to follow all the pool_alloc2/pool_free2 calls in the code
to track memory leaks. I've found one which only happens when there's
already no more memory when allocating a new appsession cookie.

(cherry picked from commit 41689c22da8bcbb877449a0ce20fec05b2515ee0)
This commit is contained in:
Cyril Bont 2010-01-10 00:30:14 +01:00 committed by Willy Tarreau
parent 11c77a39b7
commit 1b81667094

View File

@ -4150,6 +4150,7 @@ void manage_server_side_cookies(struct session *t, struct buffer *rtr)
if ((asession->sessid = pool_alloc2(apools.sessid)) == NULL) {
Alert("Not enough Memory process_srv():asession->sessid:malloc().\n");
send_log(t->be, LOG_ALERT, "Not enough Memory process_srv():asession->sessid:malloc().\n");
t->be->htbl_proxy.destroy(asession);
return;
}
memcpy(asession->sessid, t->sessid, t->be->appsession_len);
@ -4159,6 +4160,7 @@ void manage_server_side_cookies(struct session *t, struct buffer *rtr)
if ((asession->serverid = pool_alloc2(apools.serverid)) == NULL) {
Alert("Not enough Memory process_srv():asession->sessid:malloc().\n");
send_log(t->be, LOG_ALERT, "Not enough Memory process_srv():asession->sessid:malloc().\n");
t->be->htbl_proxy.destroy(asession);
return;
}
asession->serverid[0] = '\0';