another error path leak

0.96
Tomasz Kojm 16 years ago
parent 9b3e1e8580
commit 799a761fe6
  1. 10
      sigtool/vba.c

@ -993,15 +993,23 @@ static int sigtool_scandir (const char *dirname, int hex_output)
/* generate the temporary directory */
dir = cli_gentemp (tmpdir);
if(!dir) {
printf("cli_gentemp() failed\n");
closedir (dd);
return -1;
}
if (mkdir (dir, 0700)) {
printf ("Can't create temporary directory %s\n", dir);
closedir (dd);
free(dir);
return CL_ETMPDIR;
}
if ((desc = open (fname, O_RDONLY|O_BINARY)) == -1) {
printf ("Can't open file %s\n", fname);
closedir (dd);
free(dir);
return 1;
}
@ -1010,6 +1018,7 @@ static int sigtool_scandir (const char *dirname, int hex_output)
printf("malloc failed\n");
closedir (dd);
close(desc);
free(dir);
return 1;
}
*ctx.fmap = fmap(desc, 0, 0);
@ -1017,6 +1026,7 @@ static int sigtool_scandir (const char *dirname, int hex_output)
printf("fmap failed\n");
closedir (dd);
close(desc);
free(dir);
return 1;
}
if ((ret = cli_ole2_extract (dir, &ctx, &vba))) {

Loading…
Cancel
Save