--------------------- PatchSet 1662 Date: 2001/02/25 21:58:06 Author: hno Branch: eventio Tag: (none) Log: Forgot to release cbdata references when comm_connect is completed. Members: src/ncomm.c:1.1.2.10->1.1.2.11 Index: squid/src/ncomm.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/Attic/ncomm.c,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -r1.1.2.10 -r1.1.2.11 --- squid/src/ncomm.c 25 Feb 2001 20:55:22 -0000 1.1.2.10 +++ squid/src/ncomm.c 25 Feb 2001 21:58:06 -0000 1.1.2.11 @@ -73,6 +73,7 @@ mb->bufp = NULL; return buf; } + static int ncommIgnoreErrno(int error) { @@ -410,9 +411,12 @@ /* Finally, hand over the socket */ comm_new_callback(nfh, 0, fh->connect.callback, fh->connect.cbdata); + cbdataUnreference(fh->connect.cbdata); } - if (!ncommIgnoreErrno(errno)) + if (!ncommIgnoreErrno(errno)) { comm_new_callback(NULL, errno, fh->connect.callback, fh->connect.cbdata); + cbdataUnreference(fh->connect.cbdata); + } /* continue listening */ return 0; } @@ -574,9 +578,11 @@ fh->addrsize = addrsize; if (err) { comm_new_callback(fh, err, fh->connect.callback, fh->connect.cbdata); + cbdataUnreference(fh->connect.cbdata); cbdataFree(fh); } else { comm_new_callback(fh, 0, fh->connect.callback, fh->connect.cbdata); + cbdataUnreference(fh->connect.cbdata); } } return done;