From: Jani Taskinen Date: Wed, 16 Jul 2008 14:10:50 +0000 (+0000) Subject: MFH:- Fixed bug #44127 (UNIX abstract namespace socket connect does not work) X-Git-Tag: php-5.2.7RC1~201 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=65c908dcfe12e4681bdbaf777f12e33e893bc501;p=php MFH:- Fixed bug #44127 (UNIX abstract namespace socket connect does not work) --- diff --git a/NEWS b/NEWS index 450dcfdf7d..3803e39491 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,8 @@ PHP NEWS - Fixed a crash inside PDO when trying instantiate PDORow manually. (Felipe) - Fixed build failure of ext/mysqli with libmysql 6.0 - missing rpl functions. (Andrey) -- Fixed a regression when using strip_tags() and < is within an attribute. (Scott) +- Fixed a regression when using strip_tags() and < is within an attribute. + (Scott) - Fixed bug #45486 (mb_send_mail(); header 'Content-Type: text/plain; charset=' parsing incorrect). (Felipe) @@ -42,6 +43,8 @@ PHP NEWS - Fixed bug #44716 (Progress notifications incorrect). (Hannes) - Fixed bug #44712 (stream_context_set_params segfaults on invalid arguments). (Hannes) +- Fixed bug #44127 (UNIX abstract namespace socket connect does not work). + (Jani) - Fixed bug #41348 (OCI8: allow compilation with Oracle 8.1). (Chris Jones) 01 May 2008, PHP 5.2.6 diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 70214a2bc4..9c6db0bb31 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -1170,8 +1170,8 @@ PHP_FUNCTION(socket_connect) memset(&s_un, 0, sizeof(struct sockaddr_un)); s_un.sun_family = AF_UNIX; - snprintf(s_un.sun_path, 108, "%s", addr); - retval = connect(php_sock->bsd_socket, (struct sockaddr *) &s_un, SUN_LEN(&s_un)); + memcpy(&s_un.sun_path, addr, addr_len); + retval = connect(php_sock->bsd_socket, (struct sockaddr *) &s_un, (socklen_t) XtOffsetOf(struct sockaddr_un, sun_path) + addr_len); break; default: diff --git a/ext/sockets/tests/ipv4loop.phpt b/ext/sockets/tests/ipv4loop.phpt index 7c6c0db31e..9fdcc17dad 100644 --- a/ext/sockets/tests/ipv4loop.phpt +++ b/ext/sockets/tests/ipv4loop.phpt @@ -3,7 +3,7 @@ IPv4 Loopback test --SKIPIF-- --FILE-- diff --git a/ext/sockets/tests/ipv6loop.phpt b/ext/sockets/tests/ipv6loop.phpt index 45d2a05fc0..6fb584045f 100644 --- a/ext/sockets/tests/ipv6loop.phpt +++ b/ext/sockets/tests/ipv6loop.phpt @@ -3,7 +3,7 @@ IPv6 Loopback test --SKIPIF-- c) + url->len; scan: + +#line 114 "ext/standard/url_scanner_ex.c" { + YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, @@ -145,42 +148,37 @@ scan: 128, 128, 128, 128, 128, 128, 128, 128, }; -#line 149 "ext/standard/url_scanner_ex.c" - { - YYCTYPE yych; - - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 128) { - goto yy8; - } - if(yych <= '9') goto yy6; - if(yych >= ';') goto yy4; - ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy8; + } + if (yych <= '9') goto yy6; + if (yych >= ';') goto yy4; + ++YYCURSOR; #line 116 "ext/standard/url_scanner_ex.re" - { smart_str_append(dest, url); return; } -#line 163 "ext/standard/url_scanner_ex.c" + { smart_str_append(dest, url); return; } +#line 162 "ext/standard/url_scanner_ex.c" yy4: - ++YYCURSOR; + ++YYCURSOR; #line 117 "ext/standard/url_scanner_ex.re" - { sep = separator; goto scan; } -#line 168 "ext/standard/url_scanner_ex.c" + { sep = separator; goto scan; } +#line 167 "ext/standard/url_scanner_ex.c" yy6: - ++YYCURSOR; + ++YYCURSOR; #line 118 "ext/standard/url_scanner_ex.re" - { bash = p - 1; goto done; } -#line 173 "ext/standard/url_scanner_ex.c" + { bash = p - 1; goto done; } +#line 172 "ext/standard/url_scanner_ex.c" yy8: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 128) { - goto yy8; - } -#line 119 "ext/standard/url_scanner_ex.re" - { goto scan; } -#line 183 "ext/standard/url_scanner_ex.c" + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy8; } +#line 119 "ext/standard/url_scanner_ex.re" + { goto scan; } +#line 182 "ext/standard/url_scanner_ex.c" } #line 120 "ext/standard/url_scanner_ex.re" @@ -361,7 +359,10 @@ state_plain_begin: state_plain: start = YYCURSOR; + +#line 364 "ext/standard/url_scanner_ex.c" { + YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, @@ -396,37 +397,35 @@ state_plain: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - -#line 401 "ext/standard/url_scanner_ex.c" - { - YYCTYPE yych; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 128) { - goto yy15; - } - ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy15; + } + ++YYCURSOR; #line 299 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } -#line 412 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } +#line 409 "ext/standard/url_scanner_ex.c" yy15: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 128) { - goto yy15; - } -#line 300 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); goto state_plain; } -#line 422 "ext/standard/url_scanner_ex.c" + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy15; } +#line 300 "ext/standard/url_scanner_ex.re" + { passthru(STD_ARGS); goto state_plain; } +#line 419 "ext/standard/url_scanner_ex.c" } #line 301 "ext/standard/url_scanner_ex.re" state_tag: start = YYCURSOR; + +#line 427 "ext/standard/url_scanner_ex.c" { + YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -461,42 +460,37 @@ state_tag: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - -#line 466 "ext/standard/url_scanner_ex.c" - { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if(yych <= '@') { - if(yych != ':') goto yy22; - } else { - if(yych <= 'Z') goto yy20; - if(yych <= '`') goto yy22; - if(yych >= '{') goto yy22; - } + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= '@') { + if (yych != ':') goto yy22; + } else { + if (yych <= 'Z') goto yy20; + if (yych <= '`') goto yy22; + if (yych >= '{') goto yy22; + } yy20: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy25; + ++YYCURSOR; + yych = *YYCURSOR; + goto yy25; yy21: #line 306 "ext/standard/url_scanner_ex.re" - { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; } -#line 485 "ext/standard/url_scanner_ex.c" + { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; } +#line 480 "ext/standard/url_scanner_ex.c" yy22: - ++YYCURSOR; + ++YYCURSOR; #line 307 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); goto state_plain_begin; } -#line 490 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_plain_begin; } +#line 485 "ext/standard/url_scanner_ex.c" yy24: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy25: - if(yybm[0+yych] & 128) { - goto yy24; - } - goto yy21; + if (yybm[0+yych] & 128) { + goto yy24; } + goto yy21; } #line 308 "ext/standard/url_scanner_ex.re" @@ -506,7 +500,10 @@ state_next_arg_begin: state_next_arg: start = YYCURSOR; + +#line 505 "ext/standard/url_scanner_ex.c" { + YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 128, 0, 0, @@ -541,71 +538,69 @@ state_next_arg: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - -#line 546 "ext/standard/url_scanner_ex.c" - { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if(yych <= ' ') { - if(yych <= 0x0C) { - if(yych <= 0x08) goto yy34; - if(yych <= 0x0B) goto yy30; - goto yy34; - } else { - if(yych <= 0x0D) goto yy30; - if(yych <= 0x1F) goto yy34; - goto yy30; - } + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych <= '\f') { + if (yych <= 0x08) goto yy34; + if (yych <= '\v') goto yy30; + goto yy34; } else { - if(yych <= '@') { - if(yych != '>') goto yy34; - } else { - if(yych <= 'Z') goto yy32; - if(yych <= '`') goto yy34; - if(yych <= 'z') goto yy32; - goto yy34; - } + if (yych <= '\r') goto yy30; + if (yych <= 0x1F) goto yy34; + goto yy30; } - ++YYCURSOR; + } else { + if (yych <= '@') { + if (yych != '>') goto yy34; + } else { + if (yych <= 'Z') goto yy32; + if (yych <= '`') goto yy34; + if (yych <= 'z') goto yy32; + goto yy34; + } + } + ++YYCURSOR; #line 316 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } -#line 574 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } +#line 567 "ext/standard/url_scanner_ex.c" yy30: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy37; + ++YYCURSOR; + yych = *YYCURSOR; + goto yy37; yy31: #line 317 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); goto state_next_arg; } -#line 582 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_next_arg; } +#line 575 "ext/standard/url_scanner_ex.c" yy32: - ++YYCURSOR; + ++YYCURSOR; #line 318 "ext/standard/url_scanner_ex.re" - { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } -#line 587 "ext/standard/url_scanner_ex.c" + { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } +#line 580 "ext/standard/url_scanner_ex.c" yy34: - ++YYCURSOR; + ++YYCURSOR; #line 319 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); goto state_plain_begin; } -#line 592 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_plain_begin; } +#line 585 "ext/standard/url_scanner_ex.c" yy36: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy37: - if(yybm[0+yych] & 128) { - goto yy36; - } - goto yy31; + if (yybm[0+yych] & 128) { + goto yy36; } + goto yy31; } #line 320 "ext/standard/url_scanner_ex.re" state_arg: start = YYCURSOR; + +#line 602 "ext/standard/url_scanner_ex.c" { + YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -640,46 +635,44 @@ state_arg: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - -#line 645 "ext/standard/url_scanner_ex.c" - { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if(yych <= '@') goto yy42; - if(yych <= 'Z') goto yy40; - if(yych <= '`') goto yy42; - if(yych >= '{') goto yy42; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= '@') goto yy42; + if (yych <= 'Z') goto yy40; + if (yych <= '`') goto yy42; + if (yych >= '{') goto yy42; yy40: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy45; + ++YYCURSOR; + yych = *YYCURSOR; + goto yy45; yy41: #line 325 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } -#line 661 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } +#line 652 "ext/standard/url_scanner_ex.c" yy42: - ++YYCURSOR; + ++YYCURSOR; #line 326 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } -#line 666 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } +#line 657 "ext/standard/url_scanner_ex.c" yy44: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy45: - if(yybm[0+yych] & 128) { - goto yy44; - } - goto yy41; + if (yybm[0+yych] & 128) { + goto yy44; } + goto yy41; } #line 327 "ext/standard/url_scanner_ex.re" state_before_val: start = YYCURSOR; + +#line 674 "ext/standard/url_scanner_ex.c" { + YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -714,52 +707,47 @@ state_before_val: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - -#line 719 "ext/standard/url_scanner_ex.c" - { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if(yych == ' ') goto yy48; - if(yych == '=') goto yy50; - goto yy52; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych == ' ') goto yy48; + if (yych == '=') goto yy50; + goto yy52; yy48: - yych = *(YYMARKER = ++YYCURSOR); - if(yych == ' ') goto yy55; - if(yych == '=') goto yy53; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == ' ') goto yy55; + if (yych == '=') goto yy53; yy49: #line 333 "ext/standard/url_scanner_ex.re" - { --YYCURSOR; goto state_next_arg_begin; } -#line 734 "ext/standard/url_scanner_ex.c" + { --YYCURSOR; goto state_next_arg_begin; } +#line 723 "ext/standard/url_scanner_ex.c" yy50: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy54; + ++YYCURSOR; + yych = *YYCURSOR; + goto yy54; yy51: #line 332 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } -#line 742 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } +#line 731 "ext/standard/url_scanner_ex.c" yy52: - yych = *++YYCURSOR; - goto yy49; + yych = *++YYCURSOR; + goto yy49; yy53: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy54: - if(yybm[0+yych] & 128) { - goto yy53; - } - goto yy51; -yy55: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yych == ' ') goto yy55; - if(yych == '=') goto yy53; - YYCURSOR = YYMARKER; - goto yy49; + if (yybm[0+yych] & 128) { + goto yy53; } + goto yy51; +yy55: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy55; + if (yych == '=') goto yy53; + YYCURSOR = YYMARKER; + goto yy49; } #line 334 "ext/standard/url_scanner_ex.re" @@ -767,7 +755,10 @@ yy55: state_val: start = YYCURSOR; + +#line 760 "ext/standard/url_scanner_ex.c" { + YYCTYPE yych; static const unsigned char yybm[] = { 248, 248, 248, 248, 248, 248, 248, 248, 248, 160, 160, 248, 248, 160, 248, 248, @@ -802,119 +793,114 @@ state_val: 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, }; - -#line 807 "ext/standard/url_scanner_ex.c" - { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); - yych = *YYCURSOR; - if(yych <= ' ') { - if(yych <= 0x0C) { - if(yych <= 0x08) goto yy63; - if(yych <= 0x0A) goto yy64; - goto yy63; - } else { - if(yych <= 0x0D) goto yy64; - if(yych <= 0x1F) goto yy63; - goto yy64; - } + if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych <= '\f') { + if (yych <= 0x08) goto yy63; + if (yych <= '\n') goto yy64; + goto yy63; + } else { + if (yych <= '\r') goto yy64; + if (yych <= 0x1F) goto yy63; + goto yy64; + } + } else { + if (yych <= '&') { + if (yych != '"') goto yy63; } else { - if(yych <= '&') { - if(yych != '"') goto yy63; - } else { - if(yych <= '\'') goto yy62; - if(yych == '>') goto yy64; - goto yy63; - } + if (yych <= '\'') goto yy62; + if (yych == '>') goto yy64; + goto yy63; } - yych = *(YYMARKER = ++YYCURSOR); - goto yy77; + } + yych = *(YYMARKER = ++YYCURSOR); + goto yy77; yy61: #line 342 "ext/standard/url_scanner_ex.re" - { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } -#line 836 "ext/standard/url_scanner_ex.c" + { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } +#line 823 "ext/standard/url_scanner_ex.c" yy62: - yych = *(YYMARKER = ++YYCURSOR); - goto yy69; + yych = *(YYMARKER = ++YYCURSOR); + goto yy69; yy63: - yych = *++YYCURSOR; - goto yy67; + yych = *++YYCURSOR; + goto yy67; yy64: - ++YYCURSOR; + ++YYCURSOR; #line 343 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); goto state_next_arg_begin; } -#line 847 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_next_arg_begin; } +#line 834 "ext/standard/url_scanner_ex.c" yy66: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy67: - if(yybm[0+yych] & 8) { - goto yy66; - } - goto yy61; + if (yybm[0+yych] & 8) { + goto yy66; + } + goto yy61; yy68: - YYMARKER = ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; yy69: - if(yybm[0+yych] & 16) { - goto yy68; - } - if(yych <= '&') goto yy72; - if(yych >= '(') goto yy61; - ++YYCURSOR; - if(yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy66; - } + if (yybm[0+yych] & 16) { + goto yy68; + } + if (yych <= '&') goto yy72; + if (yych >= '(') goto yy61; + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy66; + } yy71: #line 341 "ext/standard/url_scanner_ex.re" - { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } -#line 874 "ext/standard/url_scanner_ex.c" + { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } +#line 861 "ext/standard/url_scanner_ex.c" yy72: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 32) { - goto yy72; - } - if(yych <= '=') goto yy75; + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 32) { + goto yy72; + } + if (yych <= '=') goto yy75; yy74: - YYCURSOR = YYMARKER; - goto yy61; + YYCURSOR = YYMARKER; + goto yy61; yy75: - yych = *++YYCURSOR; - goto yy71; + yych = *++YYCURSOR; + goto yy71; yy76: - YYMARKER = ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; yy77: - if(yybm[0+yych] & 64) { - goto yy76; - } - if(yych <= '!') goto yy80; - if(yych >= '#') goto yy61; - ++YYCURSOR; - if(yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy66; - } + if (yybm[0+yych] & 64) { + goto yy76; + } + if (yych <= '!') goto yy80; + if (yych >= '#') goto yy61; + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy66; + } yy79: #line 340 "ext/standard/url_scanner_ex.re" - { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } -#line 906 "ext/standard/url_scanner_ex.c" + { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } +#line 893 "ext/standard/url_scanner_ex.c" yy80: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 128) { - goto yy80; - } - if(yych >= '>') goto yy74; - ++YYCURSOR; - yych = *YYCURSOR; - goto yy79; + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy80; } + if (yych >= '>') goto yy74; + ++YYCURSOR; + yych = *YYCURSOR; + goto yy79; } #line 344 "ext/standard/url_scanner_ex.re" diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c index 3cdc91c451..5e074a0ca0 100644 --- a/main/streams/xp_socket.c +++ b/main/streams/xp_socket.c @@ -621,7 +621,7 @@ static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_ parse_unix_address(xparam, &unix_addr TSRMLS_CC); ret = php_network_connect_socket(sock->socket, - (const struct sockaddr *)&unix_addr, (socklen_t)sizeof(unix_addr), + (const struct sockaddr *)&unix_addr, (socklen_t) XtOffsetOf(struct sockaddr_un, sun_path) + xparam->inputs.namelen, xparam->op == STREAM_XPORT_OP_CONNECT_ASYNC, xparam->inputs.timeout, xparam->want_errortext ? &xparam->outputs.error_text : NULL, &err);