]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/dird.c
Fix buffer overrun in FD
[bacula/bacula] / bacula / src / dird / dird.c
index d97b31fd334b837d6f5c9f31e9587ebea2109672..2f055701533a72befcbe4a878eab4c65da31980e 100644 (file)
@@ -69,6 +69,7 @@ DIRRES *director;                     /* Director resource */
 int FDConnectTimeout;
 int SDConnectTimeout;
 char *configfile = NULL;
+void *start_heap;
 
 /* Globals Imported */
 extern int r_first, r_last;           /* first and last resources */
@@ -132,6 +133,7 @@ int main (int argc, char *argv[])
    textdomain("bacula");
 
    init_stack_dump();
+   start_heap = sbrk(0);
    my_name_is(argc, argv, "bacula-dir");
    init_msg(NULL, NULL);              /* initialize message handler */
    init_reload();
@@ -866,6 +868,7 @@ static bool check_catalog()
          if (db) {
             Jmsg(NULL, M_FATAL, 0, _("%s"), db_strerror(db));
             Pmsg1(000, "%s", db_strerror(db));
+            db_close_database(NULL, db);
          }
          OK = false;
          continue;