Browse Source

metadata: set fDBenv to null if opening fails

Fixes #580

Signed-off-by: falkTX <falktx@falktx.com>
tags/v1.9.15
falkTX 4 years ago
parent
commit
1b6cba1ad0
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      common/JackMetadata.cpp

+ 5
- 0
common/JackMetadata.cpp View File

@@ -124,11 +124,14 @@ int JackMetadata::PropertyInit()

if ((ret = fDBenv->open (fDBenv, dbpath, DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL | DB_THREAD, 0)) != 0) {
jack_error ("cannot open DB environment: %s", db_strerror (ret));
fDBenv = NULL;
return -1;
}

if ((ret = db_create (&fDB, fDBenv, 0)) != 0) {
jack_error ("Cannot initialize metadata DB (%s)", db_strerror (ret));
fDBenv->close (fDBenv, 0);
fDBenv = NULL;
return -1;
}

@@ -137,6 +140,8 @@ int JackMetadata::PropertyInit()
jack_error ("Cannot open metadata DB at %s: %s", dbpath, db_strerror (ret));
fDB->close (fDB, 0);
fDB = NULL;
fDBenv->close (fDBenv, 0);
fDBenv = NULL;
return -1;
}



Loading…
Cancel
Save