diff options
author | zhaogang.0108 <zhaogang.0108@bytedance.com> | 2023-12-22 11:53:40 +0300 |
---|---|---|
committer | zhaogang.0108 <zhaogang.0108@bytedance.com> | 2023-12-25 09:50:41 +0300 |
commit | a88942019fdd3d8fc366999f7c178f3e1c18b2fe (patch) | |
tree | fc129a92baf358352069a1ce015f787dd73a6923 /http/websocket.hpp | |
parent | c48377db9e745fe5169b58cf2812ff306c30057a (diff) | |
download | bmcweb-a88942019fdd3d8fc366999f7c178f3e1c18b2fe.tar.xz |
bmcweb: Add nullptr check for weakptr
When we call a null weakptr, it will cause a crash.
Add nullptr check for weakptr can avoid this situation.
Tested:
bmcweb.service did not experience core-dump.
Change-Id: I4490d68c70ea5d43681f4fb18b3859afb01ed70a
Signed-off-by: Zhao Gang <zhaogang.0108@bytedance.com>
Diffstat (limited to 'http/websocket.hpp')
-rw-r--r-- | http/websocket.hpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/http/websocket.hpp b/http/websocket.hpp index 027ab24642..4f5b3c18a6 100644 --- a/http/websocket.hpp +++ b/http/websocket.hpp @@ -162,6 +162,11 @@ class ConnectionImpl : public Connection [weak(weak_from_this()), onDone{std::move(onDone)}]( const boost::beast::error_code& ec, size_t) { std::shared_ptr<Connection> self = weak.lock(); + if (!self) + { + BMCWEB_LOG_ERROR("Connection went away"); + return; + } // Call the done handler regardless of whether we // errored, but before we close things out |