]> granicus.if.org Git - postgresql/commitdiff
Fix for tprintf overruns from Göran Thyni.
authorBruce Momjian <bruce@momjian.us>
Tue, 27 Oct 1998 03:26:48 +0000 (03:26 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 27 Oct 1998 03:26:48 +0000 (03:26 +0000)
src/backend/utils/misc/trace.c

index 0f58a122dda96bd5f8fc7ece07a3c2a4887c0e9b..83ef5bb449d09bbb99497a21af51998ed6972e22 100644 (file)
@@ -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;