diff options
author | rwatson <rwatson@FreeBSD.org> | 2003-08-29 19:27:09 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2003-08-29 19:27:09 +0000 |
commit | fdb34fcdc5e18024639795d07a6b8152ecdcc6ae (patch) | |
tree | d2fcb21aca5e00f21c334507917c0fb9d87991df /sys/netatalk/aarp.c | |
parent | 6980f2b7ee2c0655cdc6b753384a9c67db9ecc4e (diff) | |
download | FreeBSD-src-fdb34fcdc5e18024639795d07a6b8152ecdcc6ae.zip FreeBSD-src-fdb34fcdc5e18024639795d07a6b8152ecdcc6ae.tar.gz |
More checking of M_PREPEND() return values: pass through link-layer
Appletalk code. These changes are untested since I don't have
an Appletalk environment.
Diffstat (limited to 'sys/netatalk/aarp.c')
-rw-r--r-- | sys/netatalk/aarp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/netatalk/aarp.c b/sys/netatalk/aarp.c index b437097..abe6657 100644 --- a/sys/netatalk/aarp.c +++ b/sys/netatalk/aarp.c @@ -167,6 +167,9 @@ aarpwhohas( struct arpcom *ac, struct sockaddr_at *sat ) sizeof( eh->ether_dhost )); eh->ether_type = htons(sizeof(struct llc) + sizeof(struct ether_aarp)); M_PREPEND( m, sizeof( struct llc ), M_TRYWAIT ); + if ( m == NULL ) { + return; + } llc = mtod( m, struct llc *); llc->llc_dsap = llc->llc_ssap = LLC_SNAP_LSAP; llc->llc_control = LLC_UI; @@ -581,6 +584,9 @@ aarpprobe( void *arg ) eh->ether_type = htons( sizeof( struct llc ) + sizeof( struct ether_aarp )); M_PREPEND( m, sizeof( struct llc ), M_TRYWAIT ); + if ( m == NULL ) { + return; + } llc = mtod( m, struct llc *); llc->llc_dsap = llc->llc_ssap = LLC_SNAP_LSAP; llc->llc_control = LLC_UI; |