]> git.sur5r.net Git - bacula/bacula/commitdiff
Revert "Lets fix calling INGfreeDescriptor before INGfreeINGresult as INGfreeINGresul...
authorKern Sibbald <kern@sibbald.com>
Sat, 10 Apr 2010 10:20:14 +0000 (12:20 +0200)
committerKern Sibbald <kern@sibbald.com>
Sat, 10 Apr 2010 10:20:14 +0000 (12:20 +0200)
This reverts commit 35235b8647eae94a46db9d60d99344ee560c570b.

bacula/src/cats/myingres.c
bacula/src/cats/myingres.sc

index 29cf2f2623330d7d13632b411cc48f0be8894a3f..227464b0ee31c4bfdde2c0e0b876807be80d3c16 100644 (file)
@@ -272,6 +272,7 @@ static void INGfreeINGresult(INGresult *ing_res)
       free(ing_res->fields);
    }
    free(ing_res);
+   ing_res = NULL;
 }
 static inline ING_ROW *INGgetRowSpace(INGresult *ing_res)
 {
@@ -522,20 +523,16 @@ INGresult *INGquery(B_DB *mdb, INGconn *conn, const char *query)
    if (!desc) {
       return NULL;
    }
-
    res = INGgetINGresult(desc);
    if (!res) {
       return NULL;
    }
-
    rows = INGfetchAll(query, res);
-
    if (rows < 0) {
-     INGfreeDescriptor(desc);
      INGfreeINGresult(res);
+     INGfreeDescriptor(desc);
      return NULL;
    }
-
    return res;
 }
 void INGclear(INGresult *res)
@@ -543,8 +540,8 @@ void INGclear(INGresult *res)
    if (res == NULL) {
       return;
    }
-   INGfreeDescriptor(res->sqlda);
    INGfreeINGresult(res);
+   INGfreeDescriptor(res->sqlda);
 }
 INGconn *INGconnectDB(char *dbname, char *user, char *passwd)
 {
index e065313f4f5eda854e33858730e26c1a98de1be4..2ea172a5a6d08c6bf68b776e53cbba8003f021b2 100644 (file)
@@ -297,6 +297,7 @@ static void INGfreeINGresult(INGresult *ing_res)
       free(ing_res->fields);
    }
    free(ing_res);
+   ing_res = NULL;
 }
 
 static inline ING_ROW *INGgetRowSpace(INGresult *ing_res)
@@ -551,20 +552,17 @@ INGresult *INGquery(B_DB *mdb, INGconn *conn, const char *query)
    if (!desc) {
       return NULL;
    }
-
    res = INGgetINGresult(desc);
    if (!res) {
       return NULL;
    }
-
    rows = INGfetchAll(query, res);
 
    if (rows < 0) {
-     INGfreeDescriptor(desc);
      INGfreeINGresult(res);
+     INGfreeDescriptor(desc);
      return NULL;
    }
-
    return res;
 }
 
@@ -574,8 +572,8 @@ void INGclear(INGresult *res)
       return;
    }
 
-   INGfreeDescriptor(res->sqlda);
    INGfreeINGresult(res);
+   INGfreeDescriptor(res->sqlda);
 }
 
 INGconn *INGconnectDB(char *dbname, char *user, char *passwd)