[Groonga-mysql-commit] mroonga/mroonga at f2d92de [master] Fix difference of allocating and freeing. This difference caused invalid memory read. refs #1729

Back to archive index

Kentoku null+****@clear*****
Sun May 19 19:07:39 JST 2013


Kentoku	2013-05-19 19:07:39 +0900 (Sun, 19 May 2013)

  New Revision: f2d92deca6faf86eb168e9a388c503b1ef113aad
  https://github.com/mroonga/mroonga/commit/f2d92deca6faf86eb168e9a388c503b1ef113aad

  Message:
    Fix difference of allocating and freeing. This difference caused invalid memory read. refs #1729

  Modified files:
    lib/mrn_parameters_parser.cpp
    lib/mrn_parameters_parser.hpp

  Modified: lib/mrn_parameters_parser.cpp (+8 -4)
===================================================================
--- lib/mrn_parameters_parser.cpp    2013-05-19 19:01:44 +0900 (668f6a0)
+++ lib/mrn_parameters_parser.cpp    2013-05-19 19:07:39 +0900 (53e88dc)
@@ -28,12 +28,16 @@ namespace mrn {
 
     Parameter(const char *key, unsigned int key_length,
               const char *value, unsigned int value_length)
-      : key_(strndup(key, key_length)),
-        value_(strndup(value, value_length)) {
+      : key_(my_strndup(key, key_length, MYF(0))),
+        value_(my_strndup(value, value_length, MYF(0))) {
     };
     ~Parameter() {
-      delete key_;
-      delete value_;
+      if (key_) {
+        my_free(key_, MYF(0));
+      }
+      if (value_) {
+        my_free(value_, MYF(0));
+      }
     };
   };
 

  Modified: lib/mrn_parameters_parser.hpp (+1 -0)
===================================================================
--- lib/mrn_parameters_parser.hpp    2013-05-19 19:01:44 +0900 (365b872)
+++ lib/mrn_parameters_parser.hpp    2013-05-19 19:07:39 +0900 (1b64e98)
@@ -22,6 +22,7 @@
 #define MRN_PARAMETERS_PARSER_HPP_
 
 #include <mrn_mysql.h>
+#include <mrn_mysql_compat.h>
 #include <my_list.h>
 
 namespace mrn {
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-mysql-commit mailing list
Back to archive index