func: rlc_decipher_tvb(tvbuff_t *tvb, packet_info *pinfo, guint32 counter, guint8 rbid, gboolean dir, guint8 header_size) out = wmem_alloc0 ( wmem_packet_scope ( ) , strlen ( global_rlc_kasumi_key ) + 1 ); memcpy ( out , global_rlc_kasumi_key , strlen ( global_rlc_kasumi_key ) ); key_in = translate_hex_key ( out ); static guint8 translate_hex_key(gchar * char_key) j = ( int ) ( strlen ( char_key ) / 2 ) - 1; for(i = (int)strlen(char_key); i> 0; i-=2 ) key_in [ j ] = ( ( guint8 ) ( strtol ( & char_key [ i - 2 ] , NULL , 16 ) ) ); char_key [ i - 2 ] = '\0'; j --; return key_in ; out [ i + header_size ] = tvb_get_guint8 ( tvb , header_size + i ); f8 ( key_in , counter , rbid - 1 , dir , & out [ header_size ] , ( tvb_captured_length ( tvb ) - header_size ) * 8 ); for (i = 0; i < header_size; i++) out [ i ] = tvb_get_guint8 ( tvb , i ); t = tvb_new_real_data ( out , tvb_captured_length ( tvb ) , tvb_reported_length ( tvb ) ); add_new_data_source ( pinfo , t , "Deciphered data" ); return t ; 