]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Fix crash on get_plugin_object_record()
authorMichal Rakowski <michal.rakowski@baculasystems.com>
Fri, 16 Oct 2020 14:18:56 +0000 (16:18 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 24 Mar 2022 08:02:58 +0000 (09:02 +0100)
bacula/src/cats/sql_get.c

index 22a7e11446a6ec6122ac839cc389dbbcc0202835..561bd8dbffbb25de3fe5fa66137a220eee729508 100644 (file)
@@ -757,17 +757,17 @@ bool BDB::bdb_get_plugin_object_record(JCR *jcr, OBJECT_DBR *obj_r)
    int stat = false;
 
    if (obj_r->ObjectId > 0) {
-      Mmsg(tmp, "%s JobId=%lu ",
-           where_str.c_str()[0] == 0? "WHERE" : "AND",
-           obj_r->JobId);
+      Mmsg(tmp, "WHERE ObjectId=%lu ", obj_r->ObjectId);
       pm_strcat(where_str, tmp.c_str());
    }
 
    Mmsg(cmd,
-         "SELECT ObjectId, JobId, Path, Filename, PluginName, "
+         "SELECT ObjectId, JobId, Path, Filename, PluginName, ObjectCategory, "
                  "ObjectType, ObjectName, ObjectSource, ObjectUUID, ObjectSize "
          "FROM Object %s", where_str.c_str());
 
+   bdb_lock();
+
    if (QueryDB(jcr, cmd)) {
       if (sql_num_rows() > 1) {
          char ed1[30];