Changeset: 2021cedc1a8d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2021cedc1a8d
Modified Files:
        sql/backends/monet5/sql.c
Branch: Jul2015
Log Message:

Don't free before use, and use UTF-8 strings in error messages.


diffs (35 lines):

diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -3287,7 +3287,7 @@ mvc_import_table_wrap(Client cntxt, MalB
        if (!fname) {
                msg = mvc_import_table(cntxt, &b, be->mvc, be->mvc->scanner.rs, 
t, (char *) tsep, (char *) rsep, (char *) ssep, (char *) ns, *sz, *offset, 
*locked, *besteffort);
        } else {
-               len = strlen((char *) (*fname));
+               len = strlen(*fname);
                if ((fn = GDKmalloc(len + 1)) == NULL) {
                        GDKfree(ns);
                        GDKfree(tsep);
@@ -3307,8 +3307,8 @@ mvc_import_table_wrap(Client cntxt, MalB
                }
                msg = STRIconv(&filename, (char**)&fn, &utf8, &cs);
                GDKfree(cs);
-               GDKfree(fn);
                if (msg != MAL_SUCCEED) {
+                       GDKfree(fn);
                        GDKfree(tsep);
                        GDKfree(rsep);
                        GDKfree(ssep);
@@ -3326,9 +3326,11 @@ mvc_import_table_wrap(Client cntxt, MalB
                        GDKfree(rsep);
                        GDKfree(ssep);
                        GDKfree(ns);
-                       msg = createException(IO, "sql.copy_from", "could not 
open file '%s': %s", filename, strerror(errnr));
+                       msg = createException(IO, "sql.copy_from", "could not 
open file '%s': %s", fn, strerror(errnr));
+                       GDKfree(fn);
                        return msg;
                }
+               GDKfree(fn);
 #if SIZEOF_VOID_P == 4
                s = bstream_create(ss, 0x20000);
 #else
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to