summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2004-10-11 10:21:53 +0000
committerbrian <brian@FreeBSD.org>2004-10-11 10:21:53 +0000
commit0f52c1eaebbd01355cf73722835b85621294b363 (patch)
tree5e96cf5bbe789a617012de384e7bdedd5def3d16 /usr.sbin/ppp
parent91c64388daaf191322de530515d83fa4c451f656 (diff)
downloadFreeBSD-src-0f52c1eaebbd01355cf73722835b85621294b363.zip
FreeBSD-src-0f52c1eaebbd01355cf73722835b85621294b363.tar.gz
Handle a malloc() failure when allocating urgent ports
PR: 59995
Diffstat (limited to 'usr.sbin/ppp')
-rw-r--r--usr.sbin/ppp/ncp.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/usr.sbin/ppp/ncp.c b/usr.sbin/ppp/ncp.c
index 202f1c3..1c12fc5 100644
--- a/usr.sbin/ppp/ncp.c
+++ b/usr.sbin/ppp/ncp.c
@@ -98,10 +98,15 @@ ncp_Init(struct ncp *ncp, struct bundle *bundle)
ncp->afq = AF_INET;
ncp->route = NULL;
- ncp->cfg.urgent.tcp.nports = ncp->cfg.urgent.tcp.maxports = NDEFTCPPORTS;
ncp->cfg.urgent.tcp.port = (u_short *)malloc(NDEFTCPPORTS * sizeof(u_short));
- memcpy(ncp->cfg.urgent.tcp.port, default_urgent_tcp_ports,
- NDEFTCPPORTS * sizeof(u_short));
+ if (ncp->cfg.urgent.tcp.port == NULL) {
+ log_Printf(LogERROR, "ncp_Init: Out of memory allocating urgent ports\n");
+ ncp->cfg.urgent.tcp.nports = ncp->cfg.urgent.tcp.maxports = 0;
+ } else {
+ ncp->cfg.urgent.tcp.nports = ncp->cfg.urgent.tcp.maxports = NDEFTCPPORTS;
+ memcpy(ncp->cfg.urgent.tcp.port, default_urgent_tcp_ports,
+ NDEFTCPPORTS * sizeof(u_short));
+ }
ncp->cfg.urgent.tos = 1;
ncp->cfg.urgent.udp.nports = ncp->cfg.urgent.udp.maxports = 0;
OpenPOWER on IntegriCloud