Commit:    371000a877c91cfc11ff3c75ce83826797478569
Author:    Anatol Belski <a...@php.net>         Wed, 6 Mar 2013 12:37:57 +0100
Parents:   9ed7eab514ae81b90987c8729cf73ef18ecd8f7b
Branches:  PHP-5.5 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=371000a877c91cfc11ff3c75ce83826797478569

Log:
Fixed bug #64359 strftime crash with VS2012

Bugs:
https://bugs.php.net/64359

Changed paths:
  M  NEWS
  M  ext/date/php_date.c


Diff:
diff --git a/NEWS b/NEWS
index a5b11c0..6ac8418 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,9 @@ PHP                                                           
             NEWS
 - PCRE:
   . Merged PCRE 8.32. (Anatol)
 
+- DateTime:
+  . Fixed bug #64359 (strftime crash with VS2012). (Anatol)
+
 21 Feb 2013, PHP 5.5.0 Alpha 5
 
 - Core:
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index f4115dc..418747c 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -1574,7 +1574,17 @@ PHPAPI void php_strftime(INTERNAL_FUNCTION_PARAMETERS, 
int gmt)
        long                 timestamp = 0;
        struct tm            ta;
        int                  max_reallocs = 5;
-       size_t               buf_len = 64, real_len;
+#ifdef PHP_WIN32
+       /* VS2012 has a bug where strftime crash with %z and %Z format when the
+          initial buffer is too small. Increasing the buffer size helps in a
+          workaround to fixs longer format strings for this VS version.
+          
http://connect.microsoft.com/VisualStudio/feedback/details/759720/vs2012-strftime-crash-with-z-formatting-code
+       */
+       size_t               buf_len = 256;
+#else
+       size_t               buf_len = 64;
+#endif
+       size_t               real_len;
        timelib_time        *ts;
        timelib_tzinfo      *tzi;
        timelib_time_offset *offset = NULL;


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to