g_print("webrtc[%p, index:%d] is destroyed\n", g_conns[index].webrtc, index);
g_conns[index].webrtc = NULL;
- if (g_conns[index].offer)
+ if (g_conns[index].offer) {
free(g_conns[index].offer);
- if (g_conns[index].answer)
+ g_conns[index].offer = NULL;
+ }
+ if (g_conns[index].answer) {
free(g_conns[index].answer);
- if (g_conns[index].remote_desc)
+ g_conns[index].answer = NULL;
+ }
+ if (g_conns[index].remote_desc) {
free(g_conns[index].remote_desc);
+ g_conns[index].remote_desc = NULL;
+ }
g_list_free_full(g_conns[index].ice_candidates, free);
+ g_conns[index].ice_candidates = NULL;
for (i = 0; i < MAX_CHANNEL_LEN; i++) {
if (g_conns[index].channels[i] != NULL)