diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2005-07-03 18:21:04 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2005-07-03 18:21:04 +0000 |
commit | 2167dd645e64107eee8af5072a02953f9eb0ffd5 (patch) | |
tree | 2617e7ed33e8ad1dc84af107af7d259e958ba0f6 /transact.c | |
parent | 0d89042e41405763ae734174e55aa0fd2c8eeaec (diff) | |
download | fetchmail-2167dd645e64107eee8af5072a02953f9eb0ffd5.tar.gz fetchmail-2167dd645e64107eee8af5072a02953f9eb0ffd5.tar.bz2 fetchmail-2167dd645e64107eee8af5072a02953f9eb0ffd5.zip |
Nalin Dahyabhai's fix for sink.c/transact.c to reserve sufficient
space for \r\n trailers in snprintf calls. Sent by Miloslav Trmac,
possibly fixing Red Hat bug #114470.
svn path=/trunk/; revision=4071
Diffstat (limited to 'transact.c')
-rw-r--r-- | transact.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1413,7 +1413,7 @@ va_dcl va_list ap; if (protocol->tagged && !suppress_tags) - (void) sprintf(buf, "%s ", GENSYM); + snprintf(buf, sizeof(buf) - 2, "%s ", GENSYM); else buf[0] = '\0'; @@ -1422,7 +1422,7 @@ va_dcl #else va_start(ap); #endif - vsnprintf(buf + strlen(buf), sizeof(buf)-strlen(buf), fmt, ap); + vsnprintf(buf + strlen(buf), sizeof(buf)-2-strlen(buf), fmt, ap); va_end(ap); snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "\r\n"); @@ -1490,7 +1490,7 @@ va_dcl phase = SERVER_WAIT; if (protocol->tagged && !suppress_tags) - (void) sprintf(buf, "%s ", GENSYM); + snprintf(buf, sizeof(buf) - 2, "%s ", GENSYM); else buf[0] = '\0'; @@ -1499,7 +1499,7 @@ va_dcl #else va_start(ap); #endif - vsnprintf(buf + strlen(buf), sizeof(buf)-strlen(buf), fmt, ap); + vsnprintf(buf + strlen(buf), sizeof(buf)-2-strlen(buf), fmt, ap); va_end(ap); snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "\r\n"); |