Changeset: ec0601b166af for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec0601b166af
Modified Files:
        clients/mapiclient/dump.c
        sql/backends/monet5/sql_user.c
        sql/server/rel_psm.c
Branch: Jun2016
Log Message:

more leak fixing


diffs (62 lines):

diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -1557,7 +1557,7 @@ dump_database(Mapi mid, stream *toConsol
                              "t.id = tr.table_id"
                ") "
                "SELECT sname, query FROM vft ORDER BY id";
-       char *sname;
+       char *sname = NULL;
        char *curschema = NULL;
        MapiHdl hdl;
        int create_hash_func = 0;
@@ -2028,7 +2028,8 @@ dump_database(Mapi mid, stream *toConsol
        /* finally commit the whole transaction */
        if (!describe)
                mnstr_printf(toConsole, "COMMIT;\n");
-
+       if (sname)
+               free(sname);
        return rc;
 
   bailout:
@@ -2042,6 +2043,8 @@ dump_database(Mapi mid, stream *toConsol
                mapi_explain(mid, stderr);
 
   bailout2:
+       if (sname)
+               free(sname);
        if (curschema)
                free(curschema);
        hdl = mapi_query(mid, end);
diff --git a/sql/backends/monet5/sql_user.c b/sql/backends/monet5/sql_user.c
--- a/sql/backends/monet5/sql_user.c
+++ b/sql/backends/monet5/sql_user.c
@@ -129,8 +129,10 @@ monet5_find_user(ptr mp, str user)
        Client c = MCgetClient(m->clientid);
        str err;
 
-       if ((err = AUTHgetUsers(&uid, &nme, c)) != MAL_SUCCEED)
+       if ((err = AUTHgetUsers(&uid, &nme, c)) != MAL_SUCCEED) {
+               _DELETE(err);
                return -1;
+       }
        p = BUNfnd(nme, user);
        BBPunfix(uid->batCacheid);
        BBPunfix(nme->batCacheid);
diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c
--- a/sql/server/rel_psm.c
+++ b/sql/server/rel_psm.c
@@ -840,8 +840,10 @@ rel_create_func(mvc *sql, dlist *qname, 
                                        return sql_error(sql, 01, "CREATE %s%s: 
external name %s.%s not bound (%s,%s)", KF, F, fmod, fnme, s->base.name, fname 
);
                                } else {
                                        sql_func *f = sf->func;
-                                       f->mod = _STRDUP(fmod);
-                                       f->imp = _STRDUP(fnme);
+                                       if (!f->mod || strcmp(f->mod, fmod))
+                                               f->mod = _STRDUP(fmod);
+                                       if (!f->imp || strcmp(f->imp, fnme))
+                                               f->imp = _STRDUP(fnme);
                                        f->sql = 0; /* native */
                                        f->lang = FUNC_LANG_INT;
                                }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to