diff options
author | Robert Haas <rhaas@postgresql.org> | 2015-01-15 09:26:03 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2015-01-15 09:29:41 -0500 |
commit | 7b65f194e9ef098e519bb6d4f792af71a4ab5778 (patch) | |
tree | e99afec9d9dfa5e400a3e2f97f524a0269d73177 /contrib | |
parent | adb355106891ff318ca284f0cae3a993eef96185 (diff) |
pg_standby: Avoid writing one byte beyond the end of the buffer.
Previously, read() might have returned a length equal to the buffer
length, and then the subsequent store to buf[len] would write a
zero-byte one byte past the end. This doesn't seem likely to be
a security issue, but there's some chance it could result in
pg_standby misbehaving.
Spotted by Coverity; patch by Michael Paquier, reviewed by me.
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/pg_standby/pg_standby.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c index d6b169264c3..2f9f2b4d2e9 100644 --- a/contrib/pg_standby/pg_standby.c +++ b/contrib/pg_standby/pg_standby.c @@ -418,7 +418,7 @@ CheckForExternalTrigger(void) return; } - if ((len = read(fd, buf, sizeof(buf))) < 0) + if ((len = read(fd, buf, sizeof(buf) - 1)) < 0) { fprintf(stderr, "WARNING: could not read \"%s\": %s\n", triggerPath, strerror(errno)); |