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
|
void
|
||||||
expander_freeall(struct bgpq_expander *expander) {
|
expander_freeall(struct bgpq_expander *expander) {
|
||||||
|
struct sx_tentry *var, *nxt;
|
||||||
|
|
||||||
// printf("starting to free all\n");
|
// printf("starting to free all\n");
|
||||||
// seg fault here
|
// seg fault here
|
||||||
@@ -1173,6 +1174,20 @@ expander_freeall(struct bgpq_expander *expander) {
|
|||||||
free(n1);
|
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++) {
|
for (int i = 0; i < 65536; i++) {
|
||||||
if (expander->asn32s[i] != NULL) {
|
if (expander->asn32s[i] != NULL) {
|
||||||
free(expander->asn32s[i]);
|
free(expander->asn32s[i]);
|
||||||
|
|||||||
Reference in New Issue
Block a user