From 0b8955a466e509f3c4e1579637c5503c70541b55 Mon Sep 17 00:00:00 2001 From: XieHan Date: Thu, 28 Jan 2021 17:10:59 +0800 Subject: [PATCH] fix destructor bug --- src/protocol/HttpMessage.h | 7 +++++-- src/protocol/RedisMessage.h | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/protocol/HttpMessage.h b/src/protocol/HttpMessage.h index 0e0c2be7..13caf0c6 100644 --- a/src/protocol/HttpMessage.h +++ b/src/protocol/HttpMessage.h @@ -193,8 +193,11 @@ public: virtual ~HttpMessage() { this->clear_output_body(); - http_parser_deinit(this->parser); - delete this->parser; + if (this->parser) + { + http_parser_deinit(this->parser); + delete this->parser; + } } /* for std::move() */ diff --git a/src/protocol/RedisMessage.h b/src/protocol/RedisMessage.h index 41235262..f16b80ca 100644 --- a/src/protocol/RedisMessage.h +++ b/src/protocol/RedisMessage.h @@ -321,9 +321,12 @@ inline RedisMessage::RedisMessage(): inline RedisMessage::~RedisMessage() { - redis_parser_deinit(parser_); - delete parser_; - delete stream_; + if (parser_) + { + redis_parser_deinit(parser_); + delete parser_; + delete stream_; + } } inline bool RedisMessage::parse_success() const { return parser_->parse_succ; }