[Groonga-commit] groonga/groonga [master] Add missing GRN_ID_NIL check for plugin

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Jan 31 14:00:32 JST 2013


Kouhei Sutou	2013-01-31 14:00:32 +0900 (Thu, 31 Jan 2013)

  New Revision: a097cba20a2df796186d735989866544a768146e
  https://github.com/groonga/groonga/commit/a097cba20a2df796186d735989866544a768146e

  Log:
    Add missing GRN_ID_NIL check for plugin

  Modified files:
    lib/db.c
    lib/plugin.c

  Modified: lib/db.c (+3 -1)
===================================================================
--- lib/db.c    2013-01-31 10:27:16 +0900 (24c56ca)
+++ lib/db.c    2013-01-31 14:00:32 +0900 (7dec07c)
@@ -6804,7 +6804,9 @@ grn_obj_close(grn_ctx *ctx, grn_obj *obj)
         }
         GRN_REALLOC(p->vars, 0);
         grn_obj_close(ctx, &p->name_buf);
-        grn_plugin_close(ctx, p->obj.range);
+        if (p->obj.range != GRN_ID_NIL) {
+          grn_plugin_close(ctx, p->obj.range);
+        }
         GRN_FREE(obj);
         rc = GRN_SUCCESS;
       }

  Modified: lib/plugin.c (+8 -0)
===================================================================
--- lib/plugin.c    2013-01-31 10:27:16 +0900 (10f79e8)
+++ lib/plugin.c    2013-01-31 14:00:32 +0900 (bed612a)
@@ -204,6 +204,10 @@ grn_plugin_close(grn_ctx *ctx, grn_id id)
 {
   grn_plugin *plugin;
 
+  if (id == GRN_ID_NIL) {
+    return GRN_INVALID_ARGUMENT;
+  }
+
   if (!grn_hash_get_value(ctx, grn_plugins, id, &plugin)) {
     return GRN_INVALID_ARGUMENT;
   }
@@ -224,6 +228,10 @@ grn_plugin_sym(grn_ctx *ctx, grn_id id, const char *symbol)
   grn_plugin *plugin;
   grn_dl_symbol func;
 
+  if (id == GRN_ID_NIL) {
+    return GRN_INVALID_ARGUMENT;
+  }
+
   if (!grn_hash_get_value(ctx, grn_plugins, id, &plugin)) {
     return NULL;
   }
-------------- next part --------------
HTML����������������������������...
Download 



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