From: warmenhoven Date: Tue, 25 Sep 2001 18:19:18 +0000 (+0000) Subject: leak plugging. mid told me i could. X-Git-Tag: rel_0_99_2~3 X-Git-Url: http://andersk.mit.edu/gitweb/libfaim.git/commitdiff_plain/1b0f0322dc0bd32a71fa91cdfbc4a1aca1844ad4 leak plugging. mid told me i could. --- diff --git a/src/im.c b/src/im.c index 84454b5..20bd1ba 100644 --- a/src/im.c +++ b/src/im.c @@ -1575,6 +1575,9 @@ static int clienterr(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, ai if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) ret = userfunc(sess, rx, channel, sn, reason); + free(ck); + free(sn); + return ret; } @@ -1584,6 +1587,7 @@ static int msgack(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_m fu16_t type; fu8_t snlen, *ck; char *sn; + int ret = 0; ck = aimbs_getraw(bs, 8); type = aimbs_get16(bs); @@ -1591,12 +1595,12 @@ static int msgack(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_m sn = aimbs_getstr(bs, snlen); if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) - return userfunc(sess, rx, type, sn); + ret = userfunc(sess, rx, type, sn); free(sn); free(ck); - return 0; + return ret; } static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) diff --git a/src/login.c b/src/login.c index 809958b..85ea9d0 100644 --- a/src/login.c +++ b/src/login.c @@ -783,16 +783,17 @@ static int hostversions(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_rxcallback_t userfunc; int vercount; fu8_t *versions; + int ret = 0; vercount = aim_bstream_empty(bs)/4; versions = aimbs_getraw(bs, aim_bstream_empty(bs)); if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) - return userfunc(sess, rx, vercount, versions); + ret = userfunc(sess, rx, vercount, versions); free(versions); - return 0; + return ret; } /*