diff options
author | Arpad Ray <arraypad@gmail.com> | 2013-07-17 16:07:26 +0100 |
---|---|---|
committer | Arpad Ray <arraypad@gmail.com> | 2013-07-17 16:07:26 +0100 |
commit | e6ae977082bcff9c2ef0db4db58df2b07561c0a1 (patch) | |
tree | 5b41dca8f4b15eb2ad936de1178d88c9f8ad0867 /ext/standard/url_scanner_ex.re | |
parent | ba3234888dfbe14dadac7ac6c403a58bc1fdd220 (diff) | |
download | php-git-e6ae977082bcff9c2ef0db4db58df2b07561c0a1.tar.gz |
Fixed bug #50308 - session id not appended properly for empty anchor tags
The issue was actually because a lack of space before a "/" marking the tag
as empty. This was being swallowed in the rule for unquoted values. Fixed
by making that rule exclude quotes (as per spec anyway).
Diffstat (limited to 'ext/standard/url_scanner_ex.re')
-rw-r--r-- | ext/standard/url_scanner_ex.re | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re index 760f725e98..f0dee8ebc1 100644 --- a/ext/standard/url_scanner_ex.re +++ b/ext/standard/url_scanner_ex.re @@ -317,7 +317,7 @@ state_next_arg_begin: state_next_arg: start = YYCURSOR; /*!re2c - ">" { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } + [/]? [>] { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } [ \v\r\t\n]+ { passthru(STD_ARGS); goto state_next_arg; } alpha { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } any { passthru(STD_ARGS); goto state_plain_begin; } @@ -343,7 +343,7 @@ state_val: /*!re2c ["] (any\[">])* ["] { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } ['] (any\['>])* ['] { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } - (any\[ \r\t\n>])+ { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } + (any\[ \r\t\n>'"])+ { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } any { passthru(STD_ARGS); goto state_next_arg_begin; } */ |