Parcourir la source

bsd: Fix NULL pointer dereference on error path

The error path in bsd_init() on struct bsd_driver_data allocation was
jumping to location where drv is dereferenced. That will crash and it is
easier to just return from the function since no cleanup steps are
needed in this case.

Signed-hostap: Jouni Malinen <j@w1.fi>
Jouni Malinen il y a 11 ans
Parent
commit
bfdc2a3172
1 fichiers modifiés avec 2 ajouts et 2 suppressions
  1. 2 2
      src/drivers/driver_bsd.c

+ 2 - 2
src/drivers/driver_bsd.c

@@ -857,8 +857,8 @@ bsd_init(struct hostapd_data *hapd, struct wpa_init_params *params)
 
 	drv = os_zalloc(sizeof(struct bsd_driver_data));
 	if (drv == NULL) {
-		printf("Could not allocate memory for bsd driver data\n");
-		goto bad;
+		wpa_printf(MSG_ERROR, "Could not allocate memory for bsd driver data");
+		return NULL;
 	}
 
 	drv->event_buf_len = rtbuf_len();