Changeset: 58d0e6a8ddd2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=58d0e6a8ddd2
Modified Files:
sql/src/server/rel_updates.mx
Branch: Oct2010
Log Message:
make sure we check the return value of realpath() to fix gcc compilation
TODO:
realpath() does not seem to exist on Windows ...
diffs (47 lines):
diff -r 0cae5a24c2c7 -r 58d0e6a8ddd2 sql/src/server/rel_updates.mx
--- a/sql/src/server/rel_updates.mx Tue Dec 14 08:53:40 2010 +0100
+++ b/sql/src/server/rel_updates.mx Tue Dec 14 09:15:30 2010 +0100
@@ -600,7 +600,10 @@
"COPY INTO from file(s) requires
administrator rights, "
"use 'COPY INTO \"%s\" FROM STDIN'
instead", tname);
- realpath(GDKgetenv("gdk_dbfarm"), realdbfarm);
+ if (realpath(GDKgetenv("gdk_dbfarm"), realdbfarm) == NULL) {
+ return sql_error(sql, 02, "COPY INTO: failed to get
real path for dbfarm '%s'",
+ GDKgetenv("gdk_dbfarm"));
+ }
for (; n; n = n->next) {
char *fname = n->data.sval;
@@ -609,7 +612,10 @@
if (fname && *fname != '/')
return sql_error(sql, 02, "COPY INTO: filename
must "
"have absolute path: %s",
fname);
- realpath(fname, realfile);
+ if (realpath(fname, realfile) == NULL) {
+ return sql_error(sql, 02, "COPY INTO: failed to
get real path for '%s'",
+ fname);
+ }
if (strncmp(realdbfarm, realfile, strlen(realdbfarm))
== 0)
return sql_error(sql, 02, "COPY INTO: file may
not "
"reside in the server's dbfarm:
%s", realfile);
@@ -754,11 +760,17 @@
return sql_error(sql, 02, "COPY INTO: insufficient
privileges: "
"COPY INTO file requires administrator
rights, "
"use 'COPY ... INTO STDOUT' instead");
- realpath(GDKgetenv("gdk_dbfarm"), realdbfarm);
+ if (realpath(GDKgetenv("gdk_dbfarm"), realdbfarm) == NULL) {
+ return sql_error(sql, 02, "COPY INTO: failed to get
real path for dbfarm '%s'",
+ GDKgetenv("gdk_dbfarm"));
+ }
if (filename && *filename != '/')
return sql_error(sql, 02, "COPY INTO: filename must "
"have absolute path: %s", filename);
- realpath(filename, realfile);
+ if (realpath(filename, realfile) == NULL) {
+ return sql_error(sql, 02, "COPY INTO: failed to get
real path for '%s'",
+ filename);
+ }
if (strncmp(realdbfarm, realfile, strlen(realdbfarm)) == 0)
return sql_error(sql, 02, "COPY INTO: file may not "
"reside in the server's dbfarm: %s",
realfile);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list