radius: Sanity check for NULL pointer segfault
authorEduardo Abinader <eduardoabinader@gmail.com>
Wed, 17 Aug 2016 17:29:39 +0000 (19:29 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 19 Aug 2016 09:16:20 +0000 (12:16 +0300)
When the RADIUS client has not yet been fully enabled, MIB command was
segfaulting hostapd.

Signed-off-by: Eduardo Abinader <eduardoabinader@gmail.com>
src/radius/radius_client.c

index a4edd5f..06c804d 100644 (file)
@@ -1636,11 +1636,16 @@ static int radius_client_dump_acct_server(char *buf, size_t buflen,
 int radius_client_get_mib(struct radius_client_data *radius, char *buf,
                          size_t buflen)
 {
-       struct hostapd_radius_servers *conf = radius->conf;
+       struct hostapd_radius_servers *conf;
        int i;
        struct hostapd_radius_server *serv;
        int count = 0;
 
+       if (!radius)
+               return 0;
+
+       conf = radius->conf;
+
        if (conf->auth_servers) {
                for (i = 0; i < conf->num_auth_servers; i++) {
                        serv = &conf->auth_servers[i];