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