Code

parser/analyzer: Fixed iterator type checks.
[sysdb.git] / src / frontend / query.c
index 2bd234a07c91088ac8f8db4706acd1c42f2896e1..2c80be76f84f5ee8ca98560cebf293219c238e31 100644 (file)
@@ -312,6 +312,8 @@ sdb_fe_exec_fetch(sdb_conn_t *conn, int type,
                                SDB_STORE_TYPE_TO_NAME(type), hostname, name);
                return -1;
        }
+       if (type == SDB_HOST)
+               name = hostname;
 
        host = sdb_store_get_host(hostname);
        if ((! host) || (filter
@@ -319,6 +321,7 @@ sdb_fe_exec_fetch(sdb_conn_t *conn, int type,
                sdb_strbuf_sprintf(conn->errbuf, "Failed to fetch %s %s: "
                                "host %s not found", SDB_STORE_TYPE_TO_NAME(type),
                                name, hostname);
+               sdb_object_deref(SDB_OBJ(host));
                return -1;
        }
        if (type == SDB_HOST) {