diff --git a/src/radius/radius.c b/src/radius/radius.c index da978dbc9..7bc6f7457 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;