summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authoryamaguchi <yamaguchi@NetBSD.org>2020-09-25 06:12:33 +0000
committeryamaguchi <yamaguchi@NetBSD.org>2020-09-25 06:12:33 +0000
commit87ba6aab72443b68975a4e0c30b0a1bd7d5a4639 (patch)
tree3051e3e9f95a3df7adca42a21bb91471d34cbacc /sys
parent54d56568b762188317a5e80e51891800b671112e (diff)
Clear AC-Name and Service-Name if params are not specified
Diffstat (limited to 'sys')
-rw-r--r--sys/net/if_pppoe.c12
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;
}