Browse Source

Fix the memory leak of GetEmptyString().

Feng Xiao 11 years ago
parent
commit
06e6690bf2
1 changed files with 5 additions and 1 deletions
  1. 5 1
      src/google/protobuf/generated_message_util.cc

+ 5 - 1
src/google/protobuf/generated_message_util.cc

@@ -36,7 +36,6 @@
 
 
 #include <limits>
 #include <limits>
 
 
-
 namespace google {
 namespace google {
 namespace protobuf {
 namespace protobuf {
 namespace internal {
 namespace internal {
@@ -51,8 +50,13 @@ double NaN() {
 const ::std::string* empty_string_;
 const ::std::string* empty_string_;
 GOOGLE_PROTOBUF_DECLARE_ONCE(empty_string_once_init_);
 GOOGLE_PROTOBUF_DECLARE_ONCE(empty_string_once_init_);
 
 
+void DeleteEmptyString() {
+  delete empty_string_;
+}
+
 void InitEmptyString() {
 void InitEmptyString() {
   empty_string_ = new string;
   empty_string_ = new string;
+  OnShutdown(&DeleteEmptyString);
 }
 }