diff options
author | Itagaki Takahiro <itagaki.takahiro@gmail.com> | 2010-01-05 01:29:36 +0000 |
---|---|---|
committer | Itagaki Takahiro <itagaki.takahiro@gmail.com> | 2010-01-05 01:29:36 +0000 |
commit | c3a1eae252d2a5e5e8ff81b79f88b1bc12b5e01e (patch) | |
tree | c98bce919c50d96a75b5934886221743678274bd | |
parent | 54b47c803e9381abf78f4b07498e5f0b3c61e4bc (diff) | |
download | postgresql-c3a1eae252d2a5e5e8ff81b79f88b1bc12b5e01e.tar.gz postgresql-c3a1eae252d2a5e5e8ff81b79f88b1bc12b5e01e.zip |
Verify input in pg_read_file().
-rw-r--r-- | src/backend/utils/adt/genfile.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/utils/adt/genfile.c b/src/backend/utils/adt/genfile.c index ff77c19da11..863727dc01a 100644 --- a/src/backend/utils/adt/genfile.c +++ b/src/backend/utils/adt/genfile.c @@ -9,7 +9,7 @@ * Author: Andreas Pflug <pgadmin@pse-consulting.de> * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/genfile.c,v 1.22 2010/01/02 16:57:54 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/genfile.c,v 1.23 2010/01/05 01:29:36 itagaki Exp $ * *------------------------------------------------------------------------- */ @@ -22,6 +22,7 @@ #include "catalog/pg_type.h" #include "funcapi.h" +#include "mb/pg_wchar.h" #include "miscadmin.h" #include "postmaster/syslogger.h" #include "storage/fd.h" @@ -131,6 +132,9 @@ pg_read_file(PG_FUNCTION_ARGS) (errcode_for_file_access(), errmsg("could not read file \"%s\": %m", filename))); + /* Make sure the input is valid */ + pg_verifymbstr(VARDATA(buf), nbytes, false); + SET_VARSIZE(buf, nbytes + VARHDRSZ); FreeFile(file); |