/* The returned pointer is to the msg contents and it remains valid only as long as the msg buffer is valid.  */
const u8* wps_get_uuid_e(const struct wpabuf *msg)
/* The returned pointer is to the msg contents and it remains valid only as long as the msg buffer is valid.  */
const u8* wps_get_uuid_e(const struct wpabuf *msg)
{
    struct wps_parse_attr *attr;
    const u8 *uuid_e;
    attr = (struct wps_parse_attr *)os_zalloc(sizeof(struct wps_parse_attr));
    if (attr == NULL)
        return NULL;
    if (wps_parse_msg(msg, attr) < 0) {
        uuid_e = NULL;
    } else {
        uuid_e = attr->uuid_e;
    }
    os_free(attr);
    return uuid_e;
}