aboutsummaryrefslogtreecommitdiff
path: root/sys/netatalk
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2003-08-29 19:27:09 +0000
committerRobert Watson <rwatson@FreeBSD.org>2003-08-29 19:27:09 +0000
commitb50a132f22f5b279e29433cdc768dbb388f92d5b (patch)
treed2fcb21aca5e00f21c334507917c0fb9d87991df /sys/netatalk
parent2166ffe8e1c20605b899c90b1de75fa5baca4396 (diff)
downloadsrc-b50a132f22f5b279e29433cdc768dbb388f92d5b.tar.gz
src-b50a132f22f5b279e29433cdc768dbb388f92d5b.zip
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.
Notes
Notes: svn path=/head/; revision=119561
Diffstat (limited to 'sys/netatalk')
-rw-r--r--sys/netatalk/aarp.c6
-rw-r--r--sys/netatalk/ddp_output.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/netatalk/aarp.c b/sys/netatalk/aarp.c
index b4370973e858..abe66571d3a0 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;
diff --git a/sys/netatalk/ddp_output.c b/sys/netatalk/ddp_output.c
index f15914be2bba..5f7874da38a3 100644
--- a/sys/netatalk/ddp_output.c
+++ b/sys/netatalk/ddp_output.c
@@ -56,6 +56,8 @@ ddp_output( struct mbuf *m, struct socket *so)
#endif
M_PREPEND( m, sizeof( struct ddpehdr ), M_TRYWAIT );
+ if ( m == NULL )
+ return( ENOBUFS );
deh = mtod( m, struct ddpehdr *);
deh->deh_pad = 0;