From dad2e69631631c1fc2b942439de1c6d5d1de5ae5 Mon Sep 17 00:00:00 2001 From: mid Date: Thu, 17 Aug 2000 23:27:11 +0000 Subject: [PATCH] - Thu Aug 17 23:19:40 UTC 2000 - A few more leak fixes (only a few left to go...) --- CHANGES | 3 +++ aim_buddylist.c | 2 ++ aim_chatnav.c | 24 +++++++++++++++--------- aim_login.c | 12 +++++++++--- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/CHANGES b/CHANGES index ce712d5..4435056 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ No release numbers ------------------ + - Thu Aug 17 23:19:40 UTC 2000 + - A few more leak fixes (only a few left to go...) + - Thu Aug 17 23:08:08 UTC 2000 - More leak fixes (eric, eric, eric...) diff --git a/aim_buddylist.c b/aim_buddylist.c index affdb3c..6947931 100644 --- a/aim_buddylist.c +++ b/aim_buddylist.c @@ -28,6 +28,7 @@ u_long aim_add_buddy(struct aim_session_t *sess, aim_tx_enqueue(sess, newpacket ); +#if 0 /* do we really need this code? */ { struct aim_snac_t snac; @@ -41,6 +42,7 @@ u_long aim_add_buddy(struct aim_session_t *sess, aim_newsnac(sess, &snac); } +#endif return( sess->snac_nextid++ ); } diff --git a/aim_chatnav.c b/aim_chatnav.c index 2a0a478..adbd095 100644 --- a/aim_chatnav.c +++ b/aim_chatnav.c @@ -68,6 +68,7 @@ int aim_chatnav_parse_info(struct aim_session_t *sess, struct command_rx_struct struct aim_snac_t *snac; u_long snacid; rxcallback_t userfunc; + int ret=1; snacid = aimutil_get32(command->data+6); snac = aim_remsnac(sess, snacid); @@ -96,7 +97,6 @@ int aim_chatnav_parse_info(struct aim_session_t *sess, struct command_rx_struct int curexchange = 0; struct aim_tlv_t *exchangetlv; u_char maxrooms = 0; - int ret = 1; struct aim_tlvlist_t *innerlist; tlvlist = aim_readtlvchain(command->data+10, command->commandlen-10); @@ -247,31 +247,37 @@ int aim_chatnav_parse_info(struct aim_session_t *sess, struct command_rx_struct } free(exchanges); aim_freetlvchain(&tlvlist); - return ret; + + break; } case 0x0003: /* request exchange info */ printf("faim: chatnav_parse_info: resposne to exchange info\n"); - return 1; + break; case 0x0004: /* request room info */ printf("faim: chatnav_parse_info: response to room info\n"); - return 1; + break; case 0x0005: /* request more room info */ printf("faim: chatnav_parse_info: response to more room info\n"); - return 1; + break; case 0x0006: /* request occupant list */ printf("faim: chatnav_parse_info: response to occupant info\n"); - return 1; + break; case 0x0007: /* search for a room */ printf("faim: chatnav_parse_info: search results\n"); - return 1; + break; case 0x0008: /* create room */ printf("faim: chatnav_parse_info: response to create room\n"); - return 1; + break; default: /* unknown */ printf("faim: chatnav_parse_info: unknown request subtype (%04x)\n", snac->type); } - return 1; /* shouldn't get here */ + if (snac && snac->data) + free(snac->data); + if (snac) + free(snac); + + return ret; } u_long aim_chatnav_createroom(struct aim_session_t *sess, diff --git a/aim_login.c b/aim_login.c index 9adf21c..d1bc7ba 100644 --- a/aim_login.c +++ b/aim_login.c @@ -311,12 +311,18 @@ int aim_authparse(struct aim_session_t *sess, aim_freetlvchain(&tlvlist); - if (sess->logininfo.BOSIP) + if (sess->logininfo.BOSIP) { free(sess->logininfo.BOSIP); - if (sess->logininfo.email) + sess->logininfo.BOSIP = NULL; + } + if (sess->logininfo.email) { free(sess->logininfo.email); - if (sess->logininfo.errorurl) + sess->logininfo.email = NULL; + } + if (sess->logininfo.errorurl) { free(sess->logininfo.errorurl); + sess->logininfo.errorurl = NULL; + } return ret; } -- 2.45.2