gluon-radv-filterd: Fix use-after-free when best router expires

This commit is contained in:
Jan-Philipp Litza 2016-12-09 20:13:35 +01:00
parent 3667d6061d
commit e4457f2f68
No known key found for this signature in database
GPG Key ID: 1FB658053CE27196

View File

@ -312,6 +312,8 @@ static void expire_routers() {
if (router->eol < now) { if (router->eol < now) {
DEBUG_MSG("router " F_MAC " expired", F_MAC_VAR(router->src)); DEBUG_MSG("router " F_MAC " expired", F_MAC_VAR(router->src));
*prev_ptr = router->next; *prev_ptr = router->next;
if (G.best_router == router)
G.best_router = NULL;
free(router); free(router);
} else { } else {
prev_ptr = &router->next; prev_ptr = &router->next;