--- a/libfaim/aim_chatnav.c Fri Aug 18 19:21:11 2000 +0000 +++ b/libfaim/aim_chatnav.c Fri Aug 18 20:13:41 2000 +0000 @@ -124,6 +124,7 @@ curexchange++; exchanges = realloc(exchanges, curexchange * sizeof(struct aim_chat_exchangeinfo)); + /* exchange number */ exchanges[curexchange-1].number = aimutil_get16(exchangetlv->value); innerlist = aim_readtlvchain(exchangetlv->value+2, exchangetlv->length-2); @@ -231,7 +232,7 @@ curexchange, exchanges); curexchange--; - while(curexchange) + while(curexchange >= 0) { if (exchanges[curexchange].name) free(exchanges[curexchange].name);