[Groonga-commit] groonga/groonga at a6e2b28 [master] db: fix a crash bug of load

Back to archive index

Susumu Yata null+****@clear*****
Thu Mar 3 13:43:13 JST 2016


Susumu Yata	2016-03-03 13:43:13 +0900 (Thu, 03 Mar 2016)

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

  Message:
    db: fix a crash bug of load
    
    GitHub: #493

  Modified files:
    lib/db.c

  Modified: lib/db.c (+5 -6)
===================================================================
--- lib/db.c    2016-03-03 12:36:54 +0900 (4b0dee8)
+++ lib/db.c    2016-03-03 13:43:13 +0900 (bd592a9)
@@ -12683,8 +12683,7 @@ bracket_close(grn_ctx *ctx, grn_loader *loader)
   }
   nvalues = values_len(ctx, value, value_end);
   if (!loader->table) {
-    loader->values_size = begin;
-    return;
+    goto exit;
   }
 
   switch (loader->table->header.type) {
@@ -12718,7 +12717,7 @@ bracket_close(grn_ctx *ctx, grn_loader *loader)
                     GRN_TEXT_VALUE(key_column_name),
                     loader->key_offset,
                     column_name_size, column_name, i);
-            return;
+            goto exit;
           }
           key_column_name = value;
           loader->key_offset = i;
@@ -12729,7 +12728,7 @@ bracket_close(grn_ctx *ctx, grn_loader *loader)
             ERR(GRN_INVALID_ARGUMENT,
                 "nonexistent column: <%.*s>",
                 column_name_size, column_name);
-            return;
+            goto exit;
           }
           GRN_PTR_PUT(ctx, &loader->columns, col);
         }
@@ -12784,8 +12783,7 @@ bracket_close(grn_ctx *ctx, grn_loader *loader)
 
   if (id == GRN_ID_NIL) {
     /* Target record is not available. */
-    loader->values_size = begin;
-    return;
+    goto exit;
   }
 
   for (i = 0; i < nvalues; i++, value = values_next(ctx, value)) {
@@ -12822,6 +12820,7 @@ bracket_close(grn_ctx *ctx, grn_loader *loader)
     grn_expr_exec(ctx, loader->each, 0);
   }
   loader->nrecords++;
+exit:
   loader->values_size = begin;
 }
 
-------------- next part --------------
HTML����������������������������...
Download 



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