Index: load_cache/load_cache.c =================================================================== --- load_cache/load_cache.c (revision 836) +++ load_cache/load_cache.c (revision 837) @@ -100,7 +100,7 @@ void ldch_data_free(ldch_ctx_t *ctx, ldch_data_t *data) { - if (data->high_parser->free_payload != NULL) + if ((data->high_parser != NULL) && (data->high_parser->free_payload != NULL)) data->high_parser->free_payload(data); free(data); } @@ -110,7 +110,8 @@ long n; for(n = 0; n < file->data.used; n++) - ldch_data_free(ctx, file->data.array[n]); + if (file->data.array[n] != NULL) + ldch_data_free(ctx, file->data.array[n]); vtp0_uninit(&file->data);