--- sm/mod_roster.c.orig Mon Aug 16 20:58:12 2004 +++ sm/mod_roster.c Mon Aug 16 20:58:48 2004 @@ -557,20 +557,23 @@ item->ask = 0; /* save changes */ _roster_save_item(user, item); /* if there's no sessions, then we're done */ if(user->sessions == NULL) return mod_PASS; + /* We have to free old packet - Lemming's memory leak fix */ + pkt_free(pkt); + /* build a new packet to push out to everyone */ pkt = pkt_create(user->sm, "iq", "set", NULL, NULL); ns = nad_add_namespace(pkt->nad, uri_ROSTER, NULL); elem = nad_append_elem(pkt->nad, ns, "query", 3); _roster_insert_item(pkt, item, elem); /* tell everyone */ _roster_push(user, pkt, mod->index);