radius: Fix NULL dereference issue on allocation failure
authorManeesh Jain <maneesh.jain@samsung.com>
Mon, 22 Jun 2015 03:32:15 +0000 (09:02 +0530)
committerJouni Malinen <j@w1.fi>
Fri, 26 Jun 2015 19:44:41 +0000 (22:44 +0300)
In case memory allocation fails, data->pac_opaque_encr_key may be NULL
and lead to possible crash.

Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
src/radius/radius_server.c

index 1c69955..bdb7e42 100644 (file)
@@ -1711,8 +1711,10 @@ radius_server_init(struct radius_server_conf *conf)
        data->ipv6 = conf->ipv6;
        if (conf->pac_opaque_encr_key) {
                data->pac_opaque_encr_key = os_malloc(16);
-               os_memcpy(data->pac_opaque_encr_key, conf->pac_opaque_encr_key,
-                         16);
+               if (data->pac_opaque_encr_key) {
+                       os_memcpy(data->pac_opaque_encr_key,
+                                 conf->pac_opaque_encr_key, 16);
+               }
        }
        if (conf->eap_fast_a_id) {
                data->eap_fast_a_id = os_malloc(conf->eap_fast_a_id_len);