[Groonga-commit] groonga/groonga [master] added argument checks.

Back to archive index

null+****@clear***** null+****@clear*****
2011年 11月 19日 (土) 12:03:07 JST


Susumu Yata	2011-11-19 03:03:07 +0000 (Sat, 19 Nov 2011)

  New Revision: b1d3e5a7bd9ba97eb6d7f7457dbcb533ba40ee65

  Log:
    added argument checks.

  Modified files:
    lib/dat.cpp

  Modified: lib/dat.cpp (+2 -3)
===================================================================
--- lib/dat.cpp    2011-11-18 11:25:11 +0000 (d7bc702)
+++ lib/dat.cpp    2011-11-19 03:03:07 +0000 (8a66c7a)
@@ -198,7 +198,6 @@ bool grn_dat_rebuild_trie(grn_ctx *ctx, grn_dat *dat) {
     grn_dat_generate_trie_path(grn_io_path(dat->io), trie_path, file_id + 1);
     const grn::dat::Trie * const trie = static_cast<grn::dat::Trie *>(dat->trie);
     new_trie->create(*trie, trie_path, trie->file_size() * 2);
-//    new_trie->create(*trie, trie_path, (grn::dat::UInt64)(trie->file_size() * 1.5));
   } catch (const grn::dat::Exception &ex) {
     ERR(grn_dat_translate_error_code(ex.code()),
         const_cast<char *>("grn::dat::Trie::open failed"));
@@ -480,7 +479,7 @@ grn_dat_delete_by_id(grn_ctx *ctx, grn_dat *dat, grn_id id,
 {
   if (!grn_dat_open_trie_if_needed(ctx, dat)) {
     return ctx->rc;
-  } else if (!dat->trie) {
+  } else if (!dat->trie || (id == GRN_ID_NIL)) {
     return GRN_INVALID_ARGUMENT;
   }
 
@@ -512,7 +511,7 @@ grn_dat_delete(grn_ctx *ctx, grn_dat *dat, const void *key, unsigned int key_siz
 {
   if (!grn_dat_open_trie_if_needed(ctx, dat)) {
     return ctx->rc;
-  } else if (!dat->trie) {
+  } else if (!dat->trie || !key || !key_size) {
     return GRN_INVALID_ARGUMENT;
   }
 




Groonga-commit メーリングリストの案内
Back to archive index