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

Reply via email to