Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Fix segment fault when swoole request header is empty. #374

Merged
merged 1 commit into from
May 27, 2021

Conversation

jmjoy
Copy link
Member

@jmjoy jmjoy commented May 24, 2021

某些情况下请求的header可能为空(比如rancher的探针),会导致程序segment fault,所以加上了判断。

@heyanlong
Copy link
Member

是否兼容fpm和swoole两种模式?

@jmjoy
Copy link
Member Author

jmjoy commented May 24, 2021

是否兼容fpm和swoole两种模式?

fpm模式本来就有这个判断:

std::string get_page_request_peer() {

@heyanlong
Copy link
Member

It should be reminded that the peer format is IP:PORT

@jmjoy
Copy link
Member Author

jmjoy commented May 27, 2021

It should be reminded that the peer format is IP:PORT

$request->server没有server_addr这个字段哦

https://wiki.swoole.com/#/http_server?id=server

@heyanlong
Copy link
Member

Or hostname

@jmjoy
Copy link
Member Author

jmjoy commented May 27, 2021

Or hostname

那就用gethostname()这个函数获取咯?

@heyanlong
Copy link
Member

可以试试获取到的信息是什么。

@heyanlong
Copy link
Member

比如你请求http://www.example.com/, 是不是应该 www.example.com:80
或者 服务器是node-01就是node-01:80

@jmjoy
Copy link
Member Author

jmjoy commented May 27, 2021

修改了

image
image

peer = Z_STRVAL_P(peer_val);
} else {
peer_val = zend_hash_str_find(Z_ARRVAL_P(swoole_server), "server_port", sizeof("server_port") - 1);
peer = ":" + std::to_string(Z_LVAL_P(peer_val));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No ip?

@heyanlong heyanlong merged commit c59f3d0 into SkyAPM:master May 27, 2021
heyanlong added a commit that referenced this pull request Jul 21, 2021
Feature: Redis bitpos/bitop/setbit/getbit/incrby/decrby/incrbyfloat/setrange/getrange/mset/msetnx/eval (#367)
Fix: #372 (#373)
Feature: gRPC static library (#375)
Fix: sky_curl_setopt_handler (#378)
Fix: segment fault when swoole request header is empty. (#374)
Fix: #377 (#381)
Feature: Skywalking-eyes (#368)
Feature: Swoft (#395)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.