浏览代码

InternalMessageDigestImpl: Fix memory leak

Tatsuhiro Tsujikawa 12 年之前
父节点
当前提交
c81fd8e194
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      src/InternalMessageDigestImpl.cc

+ 2 - 1
src/InternalMessageDigestImpl.cc

@@ -49,7 +49,7 @@ template<size_t dlen,
          void (*free_fn)(ctx_t**)>
 class MessageDigestBase : public MessageDigestImpl {
 public:
-  MessageDigestBase() { reset(); }
+  MessageDigestBase() : ctx_(nullptr) { reset(); }
   virtual ~MessageDigestBase()
   {
     free_fn(&ctx_);
@@ -65,6 +65,7 @@ public:
   }
   virtual void reset() CXX11_OVERRIDE
   {
+    free_fn(&ctx_);
     init_fn(&ctx_);
   }
   virtual void update(const void* data, size_t length) CXX11_OVERRIDE