From aa8fc2a41cec098c6f6de58f40bc7e8ff1fda16f Mon Sep 17 00:00:00 2001
From: Niels Lohmann <mail@nlohmann.me>
Date: Thu, 8 Mar 2018 17:11:15 +0100
Subject: [PATCH] :ambulance: hopefully fixed the memory leak

---
 include/nlohmann/detail/input/parser.hpp | 1 +
 single_include/nlohmann/json.hpp         | 1 +
 2 files changed, 2 insertions(+)

diff --git a/include/nlohmann/detail/input/parser.hpp b/include/nlohmann/detail/input/parser.hpp
index 63e8541f..58d42bbe 100644
--- a/include/nlohmann/detail/input/parser.hpp
+++ b/include/nlohmann/detail/input/parser.hpp
@@ -403,6 +403,7 @@ class parser
 
         if (keep and callback and not callback(depth, parse_event_t::value, result))
         {
+            result.m_value.destroy(result.m_type);
             result.m_type = value_t::discarded;
         }
     }
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
index afbfa076..8726ccd8 100644
--- a/single_include/nlohmann/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -3526,6 +3526,7 @@ class parser
 
         if (keep and callback and not callback(depth, parse_event_t::value, result))
         {
+            result.m_value.destroy(result.m_type);
             result.m_type = value_t::discarded;
         }
     }