felipe          Mon Feb 25 22:56:47 2008 UTC

  Modified files:              
    /php-src/ext/standard       metaphone.c 
    /php-src/ext/standard/tests/strings bug44242.phpt 
  Log:
  MFB: Fixed bug #44242 (metaphone('CMXFXM') crashes PHP)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/metaphone.c?r1=1.36&r2=1.37&diff_format=u
Index: php-src/ext/standard/metaphone.c
diff -u php-src/ext/standard/metaphone.c:1.36 
php-src/ext/standard/metaphone.c:1.37
--- php-src/ext/standard/metaphone.c:1.36       Mon Dec 31 07:12:16 2007
+++ php-src/ext/standard/metaphone.c    Mon Feb 25 22:56:47 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: metaphone.c,v 1.36 2007/12/31 07:12:16 sebastian Exp $ */
+/* $Id: metaphone.c,v 1.37 2008/02/25 22:56:47 felipe Exp $ */
 
 /*
        Based on CPANs "Text-Metaphone-1.96" by Michael G Schwern <[EMAIL 
PROTECTED]> 
@@ -151,7 +151,12 @@
                                                (*phoned_word)[p_idx++] = c; \
                                        }
 /* Slap a null character on the end of the phoned word */
-#define End_Phoned_Word        {(*phoned_word)[p_idx] = '\0';}
+#define End_Phoned_Word        { \
+                                                       if (p_idx == 
max_buffer_len) { \
+                                                               *phoned_word = 
erealloc(*phoned_word, max_buffer_len + 1); \
+                                                       } \
+                                                       (*phoned_word)[p_idx] = 
'\0'; \
+                                               }
 /* How long is the phoned word? */
 #define Phone_Len      (p_idx)
 
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/bug44242.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/bug44242.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/bug44242.phpt:1.2
--- /dev/null   Mon Feb 25 22:56:47 2008
+++ php-src/ext/standard/tests/strings/bug44242.phpt    Mon Feb 25 22:56:47 2008
@@ -0,0 +1,14 @@
+--TEST--
+Bug #44242 (metaphone('CMXFXM') crashes PHP)
+--FILE--
+<?php
+
+echo metaphone('CMXFXZ'), "\n";
+echo metaphone('CMXFXV'), "\n";
+echo metaphone('CMXFXZXZ'), "\n";
+
+?>
+--EXPECT--
+KMKSFKSS
+KMKSFKSF
+KMKSFKSSKSS

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

Reply via email to