OK. So that pointer can never be null in this code. But It seems that the GHashTable structure somehow gets it's node array pointer nulled. I have hash_table->nodes == 0x0.
(gdb) print *hash_table $8 = {size = 6403520, nnodes = 0, nodes = 0x0, hash_func = 0x405738 <g_direct_hash@plt>, key_equal_func = 0x404cd8 <g_direct_equal@plt>, ref_count = 0, version = 66, key_destroy_func = 0, value_destroy_func = 0}
OK. So that pointer can never be null in this code. But It seems that the GHashTable structure somehow gets it's node array pointer nulled. I have hash_table->nodes == 0x0.
(gdb) print *hash_table hash@plt> , equal@plt> , ref_count = 0, version = 66,
$8 = {size = 6403520, nnodes = 0, nodes = 0x0,
hash_func = 0x405738 <g_direct_
key_equal_func = 0x404cd8 <g_direct_
key_destroy_func = 0, value_destroy_func = 0}