Add error handling for failing fstat() calls in copy.c.

These calls are pretty much guaranteed not to fail unless something
has gone horribly wrong, and even in that case we'd just error out a
short time later.  But since several code checkers complain about the
missing check it seems worthwile to fix it nonetheless.

Pointed out by Coverity.
This commit is contained in:
Andres Freund 2015-01-04 16:47:23 +01:00
parent 8cadeb792c
commit 2ea95959af
1 changed files with 6 additions and 2 deletions

View File

@ -1707,7 +1707,9 @@ BeginCopyTo(Relation rel,
errmsg("could not open file \"%s\" for writing: %m",
cstate->filename)));
fstat(fileno(cstate->copy_file), &st);
if (fstat(fileno(cstate->copy_file), &st))
elog(ERROR, "could not stat file \"%s\": %m", cstate->filename);
if (S_ISDIR(st.st_mode))
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
@ -2718,7 +2720,9 @@ BeginCopyFrom(Relation rel,
errmsg("could not open file \"%s\" for reading: %m",
cstate->filename)));
fstat(fileno(cstate->copy_file), &st);
if (fstat(fileno(cstate->copy_file), &st))
elog(ERROR, "could not stat file \"%s\": %m", cstate->filename);
if (S_ISDIR(st.st_mode))
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),