]> granicus.if.org Git - php/commitdiff
Fix #75850: Unclear error message wrt. __halt_compiler() w/o semicolon
authorChristoph M. Becker <cmbecker69@gmx.de>
Mon, 25 Jan 2021 16:12:48 +0000 (17:12 +0100)
committerChristoph M. Becker <cmbecker69@gmx.de>
Mon, 25 Jan 2021 17:47:15 +0000 (18:47 +0100)
We add the failure reason to the error message.

Closes GH-6638.

NEWS
ext/phar/phar.c
ext/phar/tests/phar_stub_error.phpt

diff --git a/NEWS b/NEWS
index f3f071672514587226cf35ae92f25fe1b9e1fd20..00fb7f75c210037e6a80d93d7ba1441bdc9c6b97 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? 2021, PHP 7.4.16
 
+- Phar:
+  . Fixed bug #75850 (Unclear error message wrt. __halt_compiler() w/o
+    semicolon) (cmb)
+
 - Zip:
   . Fixed bug #80648 (Fix for bug 79296 should be based on runtime version).
     (cmb, Remi)
index 9b21eb7e2adfe6fde52f3fdf65d67194b93b2a68..2749283ff5a3775361d70ca138640db23f80ebaa 100644 (file)
@@ -2602,7 +2602,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, zend_long len, int conv
                        }
                        php_stream_close(newfile);
                        if (error) {
-                               spprintf(error, 0, "illegal stub for phar \"%s\"", phar->fname);
+                               spprintf(error, 0, "illegal stub for phar \"%s\" (__HALT_COMPILER(); is missing)", phar->fname);
                        }
                        if (free_user_stub) {
                                zend_string_free(suser_stub);
index 065078d296e94dc64186053ab8a2d2c7d1a44da3..ab92a05b5132ef54bde50c6b62b6d841943fb014 100644 (file)
@@ -48,7 +48,7 @@ __HALT_COMPILER();
 string(48) "<?php echo "first stub\n"; __HALT_COMPILER(); ?>"
 string(48) "<?php echo "first stub\n"; __HALT_COMPILER(); ?>"
 bool(true)
-Exception: illegal stub for phar "%sphar_stub_error.phar.php"
+Exception: illegal stub for phar "%sphar_stub_error.phar.php" (__HALT_COMPILER(); is missing)
 string(48) "<?php echo "first stub\n"; __HALT_COMPILER(); ?>"
 bool(true)
 string(48) "<?php echo "first stub\n"; __HALT_COMPILER(); ?>"