The last character of the STA MAC address got replaced with 0x00 due to
truncation if the @1@ macro was used at the end of the URL. Fix this
case by allocating larger buffer for the URL.
Fixes: d4e39c51f8bb ("HS 2.0: Move Terms and Conditions Server URL generation from AP to AS")
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
}
url_len = os_strlen(url) + ETH_ALEN * 3 - 1 - 3;
- url2 = os_malloc(url_len);
+ url2 = os_malloc(url_len + 1);
if (!url2) {
RADIUS_DEBUG("Failed to allocate room for T&C Server URL");
os_free(url2);
return NULL;
}
pos2 = url2;
- end2 = url2 + url_len;
+ end2 = url2 + url_len + 1;
os_memcpy(pos2, url, pos - url);
pos2 += pos - url;
os_snprintf(pos2, end2 - pos2, MACSTR, MAC2STR(sess->mac_addr));