diff --git a/usr.sbin/rtadvd/if.c b/usr.sbin/rtadvd/if.c index a6517f248ca3..07d9e1f74b2c 100644 --- a/usr.sbin/rtadvd/if.c +++ b/usr.sbin/rtadvd/if.c @@ -128,8 +128,11 @@ if_nametosdl(char *name) } if ((ret_sdl = malloc(sdl->sdl_len)) == NULL) - return(NULL); + goto end; memcpy((caddr_t)ret_sdl, (caddr_t)sdl, sdl->sdl_len); + +end: + free(buf); return(ret_sdl); }