postgres.git / summary / log / commit / refs
commit 0a67c00182be0a0c69eab365bfa4830f15be06d1
Author: Robert Haas <rhaas@postgresql.org>
Date: Thu Jan 15 14:26:03 2015 +0000
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.
contrib/pg_standby/pg_standby.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c
index af4bb37e2b6..8687c810784 100644
--- a/contrib/pg_standby/pg_standby.c
+++ b/contrib/pg_standby/pg_standby.c
@@ -434,7 +434,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));
[parent: 5b1e4c1c61db]