static void dfwork_free(dfwork_t *dfw) { if (dfw->st_root) { stnode_free(dfw->st_root); } if (dfw->loaded_fields) { g_hash_table_destroy(dfw->loaded_fields); } if (dfw->interesting_fields) { g_hash_table_destroy(dfw->interesting_fields); } if (dfw->insns) { free_insns(dfw->insns); } if (dfw->consts) { free_insns(dfw->consts); } /* * We don't free the error message string; our caller will return * it to its caller. */ g_free(dfw); }
static void dfwork_free(dfwork_t *dfw) { if (dfw->st_root) { stnode_free(dfw->st_root); } if (dfw->loaded_fields) { g_hash_table_destroy(dfw->loaded_fields); } if (dfw->interesting_fields) { g_hash_table_destroy(dfw->interesting_fields); } if (dfw->insns) { free_insns(dfw->insns); } if (dfw->consts) { free_insns(dfw->consts); } g_free(dfw); }
void dfilter_free(dfilter_t *df) { int i; if (!df) return; if (df->insns) { free_insns(df->insns); } if (df->consts) { free_insns(df->consts); } g_free(df->interesting_fields); /* clear registers */ for (i = 0; i < df->max_registers; i++) { if (df->registers[i]) { g_list_free(df->registers[i]); } } if (df->deprecated) { guint i; for (i = 0; i < df->deprecated->len; ++i) { gchar *depr = g_ptr_array_index(df->deprecated, i); g_free(depr); } g_ptr_array_free(df->deprecated, TRUE); } g_free(df->registers); g_free(df->attempted_load); g_free(df); }
void dfilter_free(dfilter_t *df) { guint i; if (!df) return; if (df->insns) { free_insns(df->insns); } if (df->consts) { free_insns(df->consts); } g_free(df->interesting_fields); /* Clear registers with constant values (as set by dfvm_init_const). * Other registers were cleared on RETURN by free_register_overhead. */ for (i = df->num_registers; i < df->max_registers; i++) { g_list_free(df->registers[i]); } if (df->deprecated) { for (i = 0; i < df->deprecated->len; ++i) { gchar *depr = (gchar *)g_ptr_array_index(df->deprecated, i); g_free(depr); } g_ptr_array_free(df->deprecated, TRUE); } g_free(df->registers); g_free(df->attempted_load); g_free(df->owns_memory); g_free(df); }