From 1b0f0322dc0bd32a71fa91cdfbc4a1aca1844ad4 Mon Sep 17 00:00:00 2001 From: warmenhoven Date: Tue, 25 Sep 2001 18:19:18 +0000 Subject: [PATCH] leak plugging. mid told me i could. --- src/im.c | 8 ++++++-- src/login.c | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) 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; } /* -- 2.45.1