diff options
author | brian <brian@FreeBSD.org> | 2009-08-24 17:18:17 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2009-08-24 17:18:17 +0000 |
commit | 713a988257803198210ed1fa32fb351909facd52 (patch) | |
tree | af7b4b6a810ab2e555809c5f8d6db2c6b3fe1604 /usr.sbin/ppp/netgraph.c | |
parent | ba7b3afabc9c18fbc00ee2b3a04d75cc7bf6f923 (diff) | |
download | FreeBSD-src-713a988257803198210ed1fa32fb351909facd52.zip FreeBSD-src-713a988257803198210ed1fa32fb351909facd52.tar.gz |
When realloc()ing device memory for transfer to another ppp process,
don't continue to use the realloc()d pointer - it might have changed!
Remove some stray diagnostics while I'm here.
MFC after: 3 days
Diffstat (limited to 'usr.sbin/ppp/netgraph.c')
-rw-r--r-- | usr.sbin/ppp/netgraph.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/ppp/netgraph.c b/usr.sbin/ppp/netgraph.c index 471dc0d..23a575b 100644 --- a/usr.sbin/ppp/netgraph.c +++ b/usr.sbin/ppp/netgraph.c @@ -235,7 +235,6 @@ ng_Read(struct physical *p, void *v, size_t n) { char hook[NG_HOOKSIZ]; -log_Printf(LogDEBUG, "ng_Read\n"); switch (p->dl->state) { case DATALINK_DIAL: case DATALINK_LOGIN: @@ -282,17 +281,18 @@ static void ng_device2iov(struct device *d, struct iovec *iov, int *niov, int maxiov __unused, int *auxfd, int *nauxfd) { - struct ngdevice *dev = device2ng(d); + struct ngdevice *dev; int sz = physical_MaxDeviceSize(); - iov[*niov].iov_base = realloc(d, sz); - if (iov[*niov].iov_base == NULL) { + iov[*niov].iov_base = d = realloc(d, sz); + if (d == NULL) { log_Printf(LogALERT, "Failed to allocate memory: %d\n", sz); AbortProgram(EX_OSERR); } iov[*niov].iov_len = sz; (*niov)++; + dev = device2ng(d); *auxfd = dev->cs; (*nauxfd)++; } |