tony2001 Thu Jan 18 14:03:25 2007 UTC
Modified files:
/php-src/ext/imap php_imap.c
Log:
use strlcat()
http://cvs.php.net/viewvc.cgi/php-src/ext/imap/php_imap.c?r1=1.234&r2=1.235&diff_format=u
Index: php-src/ext/imap/php_imap.c
diff -u php-src/ext/imap/php_imap.c:1.234 php-src/ext/imap/php_imap.c:1.235
--- php-src/ext/imap/php_imap.c:1.234 Mon Jan 1 09:29:24 2007
+++ php-src/ext/imap/php_imap.c Thu Jan 18 14:03:24 2007
@@ -26,7 +26,7 @@
| PHP 4.0 updates: Zeev Suraski <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_imap.c,v 1.234 2007/01/01 09:29:24 sebastian Exp $ */
+/* $Id: php_imap.c,v 1.235 2007/01/18 14:03:24 tony2001 Exp $ */
#define IMAP41
@@ -1178,13 +1178,13 @@
if ((i = cache->user_flags)) {
strcat(tmp, "{");
while (i) {
- strcat(tmp,
imap_le_struct->imap_stream->user_flags[find_rightmost_bit (&i)]);
- if (i) strcat(tmp, " ");
+ strlcat(tmp,
imap_le_struct->imap_stream->user_flags[find_rightmost_bit (&i)], sizeof(tmp));
+ if (i) strlcat(tmp, " ", sizeof(tmp));
}
- strcat(tmp, "} ");
+ strlcat(tmp, "} ", sizeof(tmp));
}
mail_fetchsubject(t = tmp + strlen(tmp),
imap_le_struct->imap_stream, msgno, (long)25);
- sprintf(t += strlen(t), " (%ld chars)", cache->rfc822_size);
+ snprintf(t += strlen(t), sizeof(tmp) - strlen(tmp), " (%ld
chars)", cache->rfc822_size);
add_next_index_string(return_value, tmp, 1);
}
}
@@ -3383,14 +3383,14 @@
#define PHP_IMAP_CLEAN if (bufferTo) efree(bufferTo); if (bufferCc)
efree(bufferCc); if (bufferBcc) efree(bufferBcc); if (bufferHeader)
efree(bufferHeader);
#define PHP_IMAP_BAD_DEST PHP_IMAP_CLEAN; efree(tempMailTo); return
(BAD_MSG_DESTINATION);
- bufferHeader = (char *)emalloc(bufferLen);
+ bufferHeader = (char *)emalloc(bufferLen + 1);
memset(bufferHeader, 0, bufferLen);
if (to && *to) {
- strcat(bufferHeader, "To: ");
- strcat(bufferHeader, to);
- strcat(bufferHeader, "\r\n");
+ strlcat(bufferHeader, "To: ", bufferLen + 1);
+ strlcat(bufferHeader, to, bufferLen + 1);
+ strlcat(bufferHeader, "\r\n", bufferLen + 1);
tempMailTo = estrdup(to);
- bufferTo = (char *)emalloc(strlen(to));
+ bufferTo = (char *)emalloc(strlen(to) + 1);
offset = 0;
addr = NULL;
rfc822_parse_adrlist(&addr, tempMailTo, NULL);
@@ -3409,11 +3409,11 @@
}
if (cc && *cc) {
- strcat(bufferHeader, "Cc: ");
- strcat(bufferHeader, cc);
- strcat(bufferHeader, "\r\n");
+ strlcat(bufferHeader, "Cc: ", bufferLen + 1);
+ strlcat(bufferHeader, cc, bufferLen + 1);
+ strlcat(bufferHeader, "\r\n", bufferLen + 1);
tempMailTo = estrdup(cc);
- bufferCc = (char *)emalloc(strlen(cc));
+ bufferCc = (char *)emalloc(strlen(cc) + 1);
offset = 0;
addr = NULL;
rfc822_parse_adrlist(&addr, tempMailTo, NULL);
@@ -3433,7 +3433,7 @@
if (bcc && *bcc) {
tempMailTo = estrdup(bcc);
- bufferBcc = (char *)emalloc(strlen(bcc));
+ bufferBcc = (char *)emalloc(strlen(bcc) + 1);
offset = 0;
addr = NULL;
rfc822_parse_adrlist(&addr, tempMailTo, NULL);
@@ -3452,7 +3452,7 @@
}
if (headers && *headers) {
- strcat(bufferHeader, headers);
+ strlcat(bufferHeader, headers, bufferLen + 1);
}
if (TSendMail(INI_STR("SMTP"), &tsm_err, &tsm_errmsg, bufferHeader,
subject, bufferTo, message, bufferCc, bufferBcc, rpath TSRMLS_CC) != SUCCESS) {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php