mirror of
https://github.com/bgp/bgpq4
synced 2025-02-28 08:53:11 +00:00
Add more free() to counter memory errors
This commit is contained in:
15
expander.c
15
expander.c
@@ -1146,6 +1146,7 @@ bgpq_prequest_freeall(struct bgpq_prequest *bpr) {
|
||||
|
||||
void
|
||||
expander_freeall(struct bgpq_expander *expander) {
|
||||
struct sx_tentry *var, *nxt;
|
||||
|
||||
// printf("starting to free all\n");
|
||||
// seg fault here
|
||||
@@ -1173,6 +1174,20 @@ expander_freeall(struct bgpq_expander *expander) {
|
||||
free(n1);
|
||||
}
|
||||
|
||||
for (var = RB_MIN(tentree, &expander->already); var != NULL; var = nxt) {
|
||||
nxt = RB_NEXT(tentree, &expander->already, var);
|
||||
RB_REMOVE(tentree, &expander->already, var);
|
||||
free(var->text);
|
||||
free(var);
|
||||
}
|
||||
|
||||
for (var = RB_MIN(tentree, &expander->stoplist); var != NULL; var = nxt) {
|
||||
nxt = RB_NEXT(tentree, &expander->stoplist, var);
|
||||
RB_REMOVE(tentree, &expander->stoplist, var);
|
||||
free(var->text);
|
||||
free(var);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 65536; i++) {
|
||||
if (expander->asn32s[i] != NULL) {
|
||||
free(expander->asn32s[i]);
|
||||
|
||||
Reference in New Issue
Block a user