mirror of
https://github.com/php/php-src.git
synced 2025-08-16 14:08:47 +02:00
Fixed bug #50219 (soap call Segmentation fault on a redirected url).
This commit is contained in:
parent
e53f363548
commit
84ab9cd30e
2 changed files with 16 additions and 6 deletions
2
NEWS
2
NEWS
|
@ -24,6 +24,8 @@ PHP NEWS
|
||||||
(Pierre)
|
(Pierre)
|
||||||
|
|
||||||
|
|
||||||
|
- Fixed bug #50219 (soap call Segmentation fault on a redirected url).
|
||||||
|
(Pierrick)
|
||||||
- Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).
|
- Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).
|
||||||
(Ilia, shigeru_kitazaki at cybozu dot co dot jp)
|
(Ilia, shigeru_kitazaki at cybozu dot co dot jp)
|
||||||
- Fixed bug #50207 (segmentation fault when concatenating very large strings on
|
- Fixed bug #50207 (segmentation fault when concatenating very large strings on
|
||||||
|
|
|
@ -990,12 +990,20 @@ try_again:
|
||||||
new_url->host = phpurl->host ? estrdup(phpurl->host) : NULL;
|
new_url->host = phpurl->host ? estrdup(phpurl->host) : NULL;
|
||||||
new_url->port = phpurl->port;
|
new_url->port = phpurl->port;
|
||||||
if (new_url->path && new_url->path[0] != '/') {
|
if (new_url->path && new_url->path[0] != '/') {
|
||||||
char *t = phpurl->path;
|
if (phpurl->path) {
|
||||||
char *p = strrchr(t, '/');
|
char *t = phpurl->path;
|
||||||
if (p) {
|
char *p = strrchr(t, '/');
|
||||||
char *s = emalloc((p - t) + strlen(new_url->path) + 2);
|
if (p) {
|
||||||
strncpy(s, t, (p - t) + 1);
|
char *s = emalloc((p - t) + strlen(new_url->path) + 2);
|
||||||
s[(p - t) + 1] = 0;
|
strncpy(s, t, (p - t) + 1);
|
||||||
|
s[(p - t) + 1] = 0;
|
||||||
|
strcat(s, new_url->path);
|
||||||
|
efree(new_url->path);
|
||||||
|
new_url->path = s;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
char *s = emalloc(strlen(new_url->path) + 2);
|
||||||
|
s[0] = '/'; s[1] = 0;
|
||||||
strcat(s, new_url->path);
|
strcat(s, new_url->path);
|
||||||
efree(new_url->path);
|
efree(new_url->path);
|
||||||
new_url->path = s;
|
new_url->path = s;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue