src/protocols/oscar/im.c

changeset 2341
1577b2cac2da
parent 2315
ddf565f13b41
child 2421
009ae3cf0e83
--- a/src/protocols/oscar/im.c	Fri Sep 21 17:51:13 2001 +0000
+++ b/src/protocols/oscar/im.c	Fri Sep 21 20:47:37 2001 +0000
@@ -1575,6 +1575,9 @@
 	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 @@
 	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 @@
 	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)

mercurial