@ -96,12 +96,11 @@ static void * eap_gpsk_init(struct eap_sm *sm)
identity = eap_get_config_identity ( sm , & identity_len ) ;
if ( identity ) {
data - > id_peer = os_m alloc( identity_len ) ;
data - > id_peer = os_m emdup( identity , identity_len ) ;
if ( data - > id_peer = = NULL ) {
eap_gpsk_deinit ( sm , data ) ;
return NULL ;
}
os_memcpy ( data - > id_peer , identity , identity_len ) ;
data - > id_peer_len = identity_len ;
}
@ -117,12 +116,11 @@ static void * eap_gpsk_init(struct eap_sm *sm)
}
}
data - > psk = os_m alloc( password_len ) ;
data - > psk = os_m emdup( password , password_len ) ;
if ( data - > psk = = NULL ) {
eap_gpsk_deinit ( sm , data ) ;
return NULL ;
}
os_memcpy ( data - > psk , password , password_len ) ;
data - > psk_len = password_len ;
return data ;
@ -158,12 +156,11 @@ static const u8 * eap_gpsk_process_id_server(struct eap_gpsk_data *data,
return NULL ;
}
os_free ( data - > id_server ) ;
data - > id_server = os_m alloc( alen ) ;
data - > id_server = os_m emdup( pos , alen ) ;
if ( data - > id_server = = NULL ) {
wpa_printf ( MSG_DEBUG , " EAP-GPSK: No memory for ID_Server " ) ;
return NULL ;
}
os_memcpy ( data - > id_server , pos , alen ) ;
data - > id_server_len = alen ;
wpa_hexdump_ascii ( MSG_DEBUG , " EAP-GPSK: ID_Server " ,
data - > id_server , data - > id_server_len ) ;
@ -722,10 +719,9 @@ static u8 * eap_gpsk_getKey(struct eap_sm *sm, void *priv, size_t *len)
if ( data - > state ! = SUCCESS )
return NULL ;
key = os_m alloc( EAP_MSK_LEN ) ;
key = os_m emdup( data - > msk , EAP_MSK_LEN ) ;
if ( key = = NULL )
return NULL ;
os_memcpy ( key , data - > msk , EAP_MSK_LEN ) ;
* len = EAP_MSK_LEN ;
return key ;
@ -740,10 +736,9 @@ static u8 * eap_gpsk_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
if ( data - > state ! = SUCCESS )
return NULL ;
key = os_m alloc( EAP_EMSK_LEN ) ;
key = os_m emdup( data - > emsk , EAP_EMSK_LEN ) ;
if ( key = = NULL )
return NULL ;
os_memcpy ( key , data - > emsk , EAP_EMSK_LEN ) ;
* len = EAP_EMSK_LEN ;
return key ;
@ -758,10 +753,9 @@ static u8 * eap_gpsk_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
if ( data - > state ! = SUCCESS )
return NULL ;
sid = os_m alloc( data - > id_len ) ;
sid = os_m emdup( data - > session_id , data - > id_len ) ;
if ( sid = = NULL )
return NULL ;
os_memcpy ( sid , data - > session_id , data - > id_len ) ;
* len = data - > id_len ;
return sid ;