From: Ayala Beker Date: Thu, 7 Apr 2016 10:31:00 +0000 (+0300) Subject: RADIUS: Fix a possible memory leak on an error path X-Git-Tag: hostap_2_6~615 X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;h=e52a6989073bdb6f6ba5cd74e4f37dbd4dbfd575;p=mech_eap.git RADIUS: Fix a possible memory leak on an error path Fix a possible memory leak in radius_msg_add_mppe_keys() if os_get_random() fails. Signed-off-by: Ayala Beker --- diff --git a/src/radius/radius.c b/src/radius/radius.c index da978db..7bc6f74 100644 --- a/src/radius/radius.c +++ b/src/radius/radius.c @@ -1199,8 +1199,10 @@ int radius_msg_add_mppe_keys(struct radius_msg *msg, vhdr = (struct radius_attr_vendor *) pos; vhdr->vendor_type = RADIUS_VENDOR_ATTR_MS_MPPE_SEND_KEY; pos = (u8 *) (vhdr + 1); - if (os_get_random((u8 *) &salt, sizeof(salt)) < 0) + if (os_get_random((u8 *) &salt, sizeof(salt)) < 0) { + os_free(buf); return 0; + } salt |= 0x8000; WPA_PUT_BE16(pos, salt); pos += 2;