Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 1b9cde5

Browse filesBrowse files
committed
Check for fseeko() failure in pg_dump's _tarAddFile().
Coverity pointed out, not unreasonably, that we checked fseeko's result at every other call site but these. Failure to seek in the temp file (note this is NOT pg_dump's output file) seems quite unlikely, and even if it did happen the file length cross-check further down would probably detect the problem. Still, that's a poor excuse for not checking the result of a system call.
1 parent 1c164ef commit 1b9cde5
Copy full SHA for 1b9cde5

File tree

Expand file treeCollapse file tree

1 file changed

+4
-2
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+4
-2
lines changed

‎src/bin/pg_dump/pg_backup_tar.c

Copy file name to clipboardExpand all lines: src/bin/pg_dump/pg_backup_tar.c
+4-2Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,11 +1082,13 @@ _tarAddFile(ArchiveHandle *AH, TAR_MEMBER *th)
10821082
/*
10831083
* Find file len & go back to start.
10841084
*/
1085-
fseeko(tmp, 0, SEEK_END);
1085+
if (fseeko(tmp, 0, SEEK_END) != 0)
1086+
fatal("error during file seek: %m");
10861087
th->fileLen = ftello(tmp);
10871088
if (th->fileLen < 0)
10881089
fatal("could not determine seek position in archive file: %m");
1089-
fseeko(tmp, 0, SEEK_SET);
1090+
if (fseeko(tmp, 0, SEEK_SET) != 0)
1091+
fatal("error during file seek: %m");
10901092

10911093
_tarWriteHeader(th);
10921094

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.