iliaa                                    Thu, 11 Aug 2011 13:01:52 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=314783

Log:
Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path)

Bug: https://bugs.php.net/55399 (Assigned) parse_url() returning inccorrect 
value
      
Changed paths:
    A   php/php-src/branches/PHP_5_3/ext/standard/tests/url/bug55399.phpt
    U   php/php-src/branches/PHP_5_3/ext/standard/url.c
    A   php/php-src/branches/PHP_5_4/ext/standard/tests/url/bug55399.phpt
    A   php/php-src/trunk/ext/standard/tests/url/bug55399.phpt
    U   php/php-src/trunk/ext/standard/url.c

Added: php/php-src/branches/PHP_5_3/ext/standard/tests/url/bug55399.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/standard/tests/url/bug55399.phpt           
                (rev 0)
+++ php/php-src/branches/PHP_5_3/ext/standard/tests/url/bug55399.phpt   
2011-08-11 13:01:52 UTC (rev 314783)
@@ -0,0 +1,10 @@
+--TEST--
+Bug #55399 (parse_url() incorrectly treats ':' as a valid path)
+--FILE--
+<?php
+
+var_dump(parse_url(":"));
+
+?>
+--EXPECT--
+bool(false)

Modified: php/php-src/branches/PHP_5_3/ext/standard/url.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/standard/url.c     2011-08-11 12:34:51 UTC 
(rev 314782)
+++ php/php-src/branches/PHP_5_3/ext/standard/url.c     2011-08-11 13:01:52 UTC 
(rev 314783)
@@ -197,6 +197,10 @@
                                efree(ret);
                                return NULL;
                        }
+               } else if (p == pp && *pp == '\0') {
+                       STR_FREE(ret->scheme);
+                       efree(ret);
+                       return NULL;
                } else {
                        goto just_path;
                }

Added: php/php-src/branches/PHP_5_4/ext/standard/tests/url/bug55399.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/standard/tests/url/bug55399.phpt           
                (rev 0)
+++ php/php-src/branches/PHP_5_4/ext/standard/tests/url/bug55399.phpt   
2011-08-11 13:01:52 UTC (rev 314783)
@@ -0,0 +1,10 @@
+--TEST--
+Bug #55399 (parse_url() incorrectly treats ':' as a valid path)
+--FILE--
+<?php
+
+var_dump(parse_url(":"));
+
+?>
+--EXPECT--
+bool(false)

Added: php/php-src/trunk/ext/standard/tests/url/bug55399.phpt
===================================================================
--- php/php-src/trunk/ext/standard/tests/url/bug55399.phpt                      
        (rev 0)
+++ php/php-src/trunk/ext/standard/tests/url/bug55399.phpt      2011-08-11 
13:01:52 UTC (rev 314783)
@@ -0,0 +1,10 @@
+--TEST--
+Bug #55399 (parse_url() incorrectly treats ':' as a valid path)
+--FILE--
+<?php
+
+var_dump(parse_url(":"));
+
+?>
+--EXPECT--
+bool(false)

Modified: php/php-src/trunk/ext/standard/url.c
===================================================================
--- php/php-src/trunk/ext/standard/url.c        2011-08-11 12:34:51 UTC (rev 
314782)
+++ php/php-src/trunk/ext/standard/url.c        2011-08-11 13:01:52 UTC (rev 
314783)
@@ -197,6 +197,10 @@
                                efree(ret);
                                return NULL;
                        }
+               } else if (p == pp && *pp == '\0') {
+                       STR_FREE(ret->scheme);
+                       efree(ret);
+                       return NULL;
                } else {
                        goto just_path;
                }

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

Reply via email to