bsd: Fix NULL pointer dereference on error path
authorJouni Malinen <j@w1.fi>
Tue, 7 Jan 2014 13:58:01 +0000 (15:58 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 7 Jan 2014 13:58:01 +0000 (15:58 +0200)
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>

src/drivers/driver_bsd.c

index 097e7d6..71c9ce9 100644 (file)
@@ -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();