Skip to content

selective_channel SubDone::Run最后的message交换可能会有内存问题 #3372

Description

@corznoc

Describe the bug
selective_channel.cpp:
Image
Image

对于一些无反射的Message(RedisResponse), GetRelection()会返回空指针。
看了下PopFree()方法,之前的版本response成员,会使用用户传下来的response,
从而不会触发message交换。

To Reproduce
CallMethod使用RedisRequest和RedisResponse时,由于触发该问题。

Expected behavior
会引用空指针,触发SIGSEGV,反生coredump

Versions
OS: CentOS
Compiler: gcc
brpc: 1.17.0
protobuf: 3.25.8

Additional context/screenshots

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions