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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions