diff options
author | dd <dd@FreeBSD.org> | 2002-10-02 02:17:59 +0000 |
---|---|---|
committer | dd <dd@FreeBSD.org> | 2002-10-02 02:17:59 +0000 |
commit | b9a8a81041d75fd2f18a80da77ef21a9b9ea5394 (patch) | |
tree | 61d6e5afd55ba466decbda6c0f1350db9fcac105 | |
parent | 904f11a071bb51ba8cd900aca0d9f7a614061ac0 (diff) | |
download | FreeBSD-src-b9a8a81041d75fd2f18a80da77ef21a9b9ea5394.zip FreeBSD-src-b9a8a81041d75fd2f18a80da77ef21a9b9ea5394.tar.gz |
Don't crash when the user feeds us nonesense in the form:
ifconfig IF ether WHATEVER -alias
PR: 42544
Submitted by: Mike Makonnen <makonnen@pacbell.net>
-rw-r--r-- | sbin/ifconfig/ifconfig.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index 35ac555..49ae26b 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -965,9 +965,10 @@ void notealias(const char *addr, int param, int s, const struct afswtch *afp) { if (setaddr && doalias == 0 && param < 0) - bcopy((caddr_t)rqtosa(af_addreq), - (caddr_t)rqtosa(af_ridreq), - rqtosa(af_addreq)->sa_len); + if (afp->af_addreq != NULL && afp->af_ridreq != NULL) + bcopy((caddr_t)rqtosa(af_addreq), + (caddr_t)rqtosa(af_ridreq), + rqtosa(af_addreq)->sa_len); doalias = param; if (param < 0) { clearaddr = 1; |