fuzz - 12122 - Fix to memory leak by properly free'ing the dirname variable in OLE2 parser.

pull/111/head
Micah Snyder 6 years ago
parent d86e0a3be7
commit 098d2adb09
  1. 8
      libclamav/ole2_extract.c

@ -755,10 +755,16 @@ ole2_walk_property_tree(ole2_header_t *hdr, const char *dir, int32_t prop_index,
func_ret = ret;
} else {
ole2_list_delete(&node_list);
if (dirname)
free(dirname);
return ret;
}
}
}
if (dirname) {
free(dirname);
dirname = NULL;
}
if ((int)(prop_block[idx].prev) != -1) {
if ((ret = ole2_list_push(&node_list, prop_block[idx].prev)) != CL_SUCCESS) {
ole2_list_delete(&node_list);
@ -771,8 +777,6 @@ ole2_walk_property_tree(ole2_header_t *hdr, const char *dir, int32_t prop_index,
return ret;
}
}
if (dirname)
free(dirname);
break;
default:
cli_dbgmsg("ERROR: unknown OLE2 entry type: %d\n", prop_block[idx].type);

Loading…
Cancel
Save