]> andersk Git - libfaim.git/commitdiff
leak plugging. mid told me i could.
authorwarmenhoven <warmenhoven>
Tue, 25 Sep 2001 18:19:18 +0000 (18:19 +0000)
committerwarmenhoven <warmenhoven>
Tue, 25 Sep 2001 18:19:18 +0000 (18:19 +0000)
src/im.c
src/login.c

index 84454b5c25ee716baac7a7f84f04264664158ba6..20bd1ba32b0d4775d3fa16f8734a10c8c2586864 100644 (file)
--- 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)
index 809958be8ed7169ef65ce36f25ae494ff0cbbc60..85ea9d085e698cbd4764c1dfc63ad07f79ce3c3c 100644 (file)
@@ -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;
 }
 
 /*
This page took 0.222119 seconds and 5 git commands to generate.