diff options
author | hrs <hrs@FreeBSD.org> | 2013-08-27 11:50:33 +0000 |
---|---|---|
committer | hrs <hrs@FreeBSD.org> | 2013-08-27 11:50:33 +0000 |
commit | 9a7e8d3357b941e823ab05a1bf8cfc06c76faa7a (patch) | |
tree | 4aa782b650cd9398ac95e60630e9e0ac15bb6441 /usr.sbin | |
parent | dfd07d8821f7b5e2045ff827d8650c7c266e014c (diff) | |
download | FreeBSD-src-9a7e8d3357b941e823ab05a1bf8cfc06c76faa7a.zip FreeBSD-src-9a7e8d3357b941e823ab05a1bf8cfc06c76faa7a.tar.gz |
Fix a crash when reloading the configuration file.
Spotted by: des
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/rtadvd/config.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/usr.sbin/rtadvd/config.c b/usr.sbin/rtadvd/config.c index 02a241d..f0e11a3 100644 --- a/usr.sbin/rtadvd/config.c +++ b/usr.sbin/rtadvd/config.c @@ -296,10 +296,8 @@ rm_rainfo(struct rainfo *rai) if (rai->rai_ra_data != NULL) free(rai->rai_ra_data); - while ((pfx = TAILQ_FIRST(&rai->rai_prefix)) != NULL) { - TAILQ_REMOVE(&rai->rai_prefix, pfx, pfx_next); - free(pfx); - } + while ((pfx = TAILQ_FIRST(&rai->rai_prefix)) != NULL) + delete_prefix(pfx); while ((sol = TAILQ_FIRST(&rai->rai_soliciter)) != NULL) { TAILQ_REMOVE(&rai->rai_soliciter, sol, sol_next); free(sol); |