summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian1998-10-27 03:26:48 +0000
committerBruce Momjian1998-10-27 03:26:48 +0000
commit7825f9b890a50a6ce47d8926fe4d18523bc7ae6b (patch)
treecb1722c98c7d571003fb0077858e0fb1b8432fed
parentccbe540b61920c7564853a98e8dbdb4e88a34c1b (diff)
Fix for tprintf overruns from Göran Thyni.
-rw-r--r--src/backend/utils/misc/trace.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/backend/utils/misc/trace.c b/src/backend/utils/misc/trace.c
index 0f58a122dda..83ef5bb449d 100644
--- a/src/backend/utils/misc/trace.c
+++ b/src/backend/utils/misc/trace.c
@@ -108,7 +108,8 @@ tprintf(int flag, const char *fmt,...)
#ifdef ELOG_TIMESTAMPS
strcpy(line, tprintf_timestamp());
#endif
- vsprintf(line + TIMESTAMP_SIZE, fmt, ap);
+ vsnprintf(line + TIMESTAMP_SIZE, ELOG_MAXLEN,
+ fmt, ap);
va_end(ap);
#ifdef USE_SYSLOG
@@ -138,7 +139,8 @@ tprintf1(const char *fmt, ... )
#ifdef ELOG_TIMESTAMPS
strcpy(line, tprintf_timestamp());
#endif
- vsprintf(line+TIMESTAMP_SIZE, fmt, ap);
+ vsnprintf(line+TIMESTAMP_SIZE, ELOG_MAXLEN,
+ fmt, ap);
va_end(ap);
#ifdef USE_SYSLOG
@@ -166,7 +168,8 @@ eprintf(const char *fmt,...)
#ifdef ELOG_TIMESTAMPS
strcpy(line, tprintf_timestamp());
#endif
- vsprintf(line + TIMESTAMP_SIZE, fmt, ap);
+ vsnprintf(line + TIMESTAMP_SIZE, ELOG_MAXLEN,
+ fmt, ap);
va_end(ap);
#ifdef USE_SYSLOG
@@ -344,7 +347,8 @@ read_pg_options(SIGNAL_ARGS)
return;
}
- sprintf(buffer, "%s/%s", DataDir, "pg_options");
+ snprintf(buffer, BUF_SIZE - 1,
+ "%s/%s", DataDir, "pg_options");
if ((fd = open(buffer, O_RDONLY)) < 0)
return;