Skip to content
Snippets Groups Projects

E3-1197: Fix possible memory issues

Merged Lucas Magalhães requested to merge fix_valgrind into master
1 file
+ 12
2
Compare changes
  • Side-by-side
  • Inline
+ 12
2
@@ -895,6 +895,7 @@ static int require_priv(
const char *versionstr /* "-<version>" or "" (for old style only */
) {
int status;
int returnvalue = 0;
const char *loaded = NULL;
const char *found = NULL;
HMODULE libhandle;
@@ -1138,6 +1139,7 @@ static int require_priv(
else
fprintf(stderr, "Module %s%s%s not available\n", module,
version ? " version " : "", version ? version : "");
if (founddir) free(founddir);
return ifexists ? 0 : -1;
}
@@ -1207,7 +1209,8 @@ static int require_priv(
fprintf(stderr,
"Requested %s version %s not available, found only %s.\n",
module, version, found);
return -1;
returnvalue = -1;
goto require_priv_error;
}
/* load dbd file */
@@ -1227,7 +1230,8 @@ static int require_priv(
printf("Loading dbd file %s\n", filename);
if (dbLoadDatabase(filename, NULL, NULL) != 0) {
fprintf(stderr, "Error loading %s\n", filename);
return -1;
returnvalue = -1;
goto require_priv_error;
}
/* when dbd is loaded call register function */
@@ -1263,12 +1267,18 @@ static int require_priv(
putenvprintf("TEMPLATES=%s", globalTemplates);
}
if (founddir) free(founddir);
/* no need to execute startup script twice if not with new arguments */
if (loaded && args == NULL) {
return 0;
}
return status;
require_priv_error:
if (founddir) free(founddir);
return returnvalue;
}
static const iocshFuncDef requireDef = {
Loading