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 | |
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
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | sink.c | 2 | ||||
-rw-r--r-- | transact.c | 8 |
3 files changed, 8 insertions, 5 deletions
@@ -80,6 +80,9 @@ fetchmail 6.3.0 (not yet released officially): sizeof(int) != sizeof(size_t). (Matthias Andree) * Nalin Dahyabhai's fix for driver.c to not call the private Kerberos krb5_init_ets() function. Sent by Miloslav Trmac. (Matthias Andree) +* 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. (Matthias Andree). fetchmail-6.2.5 (Wed Oct 15 18:39:22 EDT 2003), 23079 lines: @@ -1540,7 +1540,7 @@ va_dcl #else va_start(ap); #endif - vsnprintf(buf, sizeof(buf), fmt, ap); + vsnprintf(buf, sizeof(buf) - 2, fmt, ap); va_end(ap); snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "\r\n"); @@ -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"); |