diff options
| author | yamaguchi <yamaguchi@NetBSD.org> | 2020-09-25 06:12:33 +0000 |
|---|---|---|
| committer | yamaguchi <yamaguchi@NetBSD.org> | 2020-09-25 06:12:33 +0000 |
| commit | 87ba6aab72443b68975a4e0c30b0a1bd7d5a4639 (patch) | |
| tree | 3051e3e9f95a3df7adca42a21bb91471d34cbacc /sys | |
| parent | 54d56568b762188317a5e80e51891800b671112e (diff) | |
Clear AC-Name and Service-Name if params are not specified
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/net/if_pppoe.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/net/if_pppoe.c b/sys/net/if_pppoe.c index e0595a2cdb4..d5d15694707 100644 --- a/sys/net/if_pppoe.c +++ b/sys/net/if_pppoe.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_pppoe.c,v 1.151 2020/09/18 09:53:50 yamaguchi Exp $ */ +/* $NetBSD: if_pppoe.c,v 1.152 2020/09/25 06:12:33 yamaguchi Exp $ */ /* * Copyright (c) 2002, 2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_pppoe.c,v 1.151 2020/09/18 09:53:50 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_pppoe.c,v 1.152 2020/09/25 06:12:33 yamaguchi Exp $"); #ifdef _KERNEL_OPT #include "pppoe.h" @@ -1248,6 +1248,10 @@ pppoe_ioctl(struct ifnet *ifp, unsigned long cmd, void *data) free(sc->sc_concentrator_name, M_DEVBUF); sc->sc_concentrator_name = b; PPPOE_UNLOCK(sc); + } else { + if (sc->sc_concentrator_name) + free(sc->sc_concentrator_name, M_DEVBUF); + sc->sc_concentrator_name = NULL; } if (parms->service_name != NULL) { size_t s; @@ -1271,6 +1275,10 @@ pppoe_ioctl(struct ifnet *ifp, unsigned long cmd, void *data) free(sc->sc_service_name, M_DEVBUF); sc->sc_service_name = b; PPPOE_UNLOCK(sc); + } else { + if (sc->sc_service_name) + free(sc->sc_service_name, M_DEVBUF); + sc->sc_service_name = NULL; } return 0; } |
