1
0
mirror of https://github.com/bgp/bgpq4.git synced 2024-05-11 05:55:05 +00:00

Adding a free(), KNF

This commit is contained in:
Job Snijders
2021-08-17 23:51:18 +00:00
parent c4c5866fa3
commit a055f6f2ee
4 changed files with 33 additions and 25 deletions

View File

@@ -57,7 +57,7 @@ tentry_cmp(struct sx_tentry *a, struct sx_tentry *b)
return strcasecmp(a->text, b->text); return strcasecmp(a->text, b->text);
} }
RB_GENERATE_STATIC(tentree, sx_tentry, entry, tentry_cmp); RB_GENERATE_STATIC(tentree, sx_tentry, entries, tentry_cmp);
int int
bgpq_expander_init(struct bgpq_expander *b, int af) bgpq_expander_init(struct bgpq_expander *b, int af)
@@ -122,7 +122,7 @@ bgpq_expander_add_asset(struct bgpq_expander *b, char *as)
le = sx_slentry_new(as); le = sx_slentry_new(as);
STAILQ_INSERT_TAIL(&b->macroses, le, next); STAILQ_INSERT_TAIL(&b->macroses, le, entries);
return 1; return 1;
} }
@@ -140,7 +140,7 @@ bgpq_expander_add_rset(struct bgpq_expander *b, char *rs)
if (!le) if (!le)
return 0; return 0;
STAILQ_INSERT_TAIL(&b->rsets, le, next); STAILQ_INSERT_TAIL(&b->rsets, le, entries);
return 1; return 1;
} }
@@ -1023,7 +1023,7 @@ bgpq_expand(struct bgpq_expander *b)
if (pipelining) if (pipelining)
fcntl(fd, F_SETFL, O_NONBLOCK|(fcntl(fd, F_GETFL))); fcntl(fd, F_SETFL, O_NONBLOCK|(fcntl(fd, F_GETFL)));
STAILQ_FOREACH(mc, &b->macroses, next) { STAILQ_FOREACH(mc, &b->macroses, entries) {
if (!b->maxdepth && RB_EMPTY(&b->stoplist)) { if (!b->maxdepth && RB_EMPTY(&b->stoplist)) {
if (aquery) if (aquery)
bgpq_expand_irrd(b, bgpq_expanded_prefix, b, bgpq_expand_irrd(b, bgpq_expanded_prefix, b,
@@ -1053,7 +1053,7 @@ bgpq_expand(struct bgpq_expander *b)
if (b->generation >= T_PREFIXLIST || b->validate_asns) { if (b->generation >= T_PREFIXLIST || b->validate_asns) {
uint32_t i, j, k; uint32_t i, j, k;
STAILQ_FOREACH(mc, &b->rsets, next) { STAILQ_FOREACH(mc, &b->rsets, entries) {
if (b->family == AF_INET) if (b->family == AF_INET)
bgpq_expand_irrd(b, bgpq_expanded_prefix, bgpq_expand_irrd(b, bgpq_expanded_prefix,
NULL, "!i%s,1\n", mc->text); NULL, "!i%s,1\n", mc->text);
@@ -1159,6 +1159,12 @@ expander_freeall(struct bgpq_expander *expander) {
//} //}
// printf("freeing asn32s\n"); // printf("freeing asn32s\n");
while (!STAILQ_EMPTY(&expander->macroses)) {
struct sx_slentry *n1 = STAILQ_FIRST(&expander->macroses);
STAILQ_REMOVE_HEAD(&expander->macroses, entries);
free(n1);
}
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]);

View File

@@ -60,9 +60,10 @@ struct bgpq_request {
STAILQ_ENTRY(bgpq_request) next; STAILQ_ENTRY(bgpq_request) next;
char *request; char *request;
int size, offset; int size, offset;
int (*callback)(char*, struct bgpq_expander*, struct bgpq_request*);
void *udata; void *udata;
unsigned int depth; unsigned int depth;
int (*callback)(char *, struct bgpq_expander *,
struct bgpq_request *);
}; };
struct bgpq_expander { struct bgpq_expander {

3
main.c
View File

@@ -700,7 +700,8 @@ main(int argc, char* argv[])
sx_report(SX_ERROR, "Unable to add prefix %s " sx_report(SX_ERROR, "Unable to add prefix %s "
"(bad prefix or address-family)\n", argv[0]); "(bad prefix or address-family)\n", argv[0]);
exit(1); exit(1);
} else if (ec && !bgpq_expander_add_prefix_range(&expander, argv[0])) { } else if (ec && !bgpq_expander_add_prefix_range(&expander,
argv[0])) {
sx_report(SX_ERROR, "Unable to add prefix-range " sx_report(SX_ERROR, "Unable to add prefix-range "
"%s (bad range or address-family)\n", "%s (bad range or address-family)\n",
argv[0]); argv[0]);

View File

@@ -31,14 +31,14 @@
#include <sys/tree.h> #include <sys/tree.h>
struct sx_slentry { struct sx_slentry {
STAILQ_ENTRY(sx_slentry) next; STAILQ_ENTRY(sx_slentry) entries;
char* text; char* text;
}; };
struct sx_slentry* sx_slentry_new(char* text); struct sx_slentry* sx_slentry_new(char* text);
struct sx_tentry { struct sx_tentry {
RB_ENTRY(sx_tentry) entry; RB_ENTRY(sx_tentry) entries;
char* text; char* text;
}; };