null+****@clear*****
null+****@clear*****
2010年 6月 24日 (木) 09:24:57 JST
Daijiro MORI 2010-06-24 00:24:57 +0000 (Thu, 24 Jun 2010)
New Revision: eac541769af9c3c5797efabe772e40a24908d732
Log:
Fixed a bug in grn_ctx_alloc() cause segv.
Modified files:
lib/ctx.c
Modified: lib/ctx.c (+3 -2)
===================================================================
--- lib/ctx.c 2010-06-24 00:18:03 +0000 (dc2eabc)
+++ lib/ctx.c 2010-06-24 00:24:57 +0000 (40a4ae0)
@@ -1405,8 +1405,9 @@ grn_ctx_alloc(grn_ctx *ctx, size_t size, int flags,
mi->count++;
header[0] = i;
header[1] = (int32_t) size;
- if ((flags & GRN_CTX_ALLOC_CLEAR) && (mi->count & GRN_CTX_SEGMENT_DIRTY)) {
- memset(&header[2], 0, size);
+ if ((flags & GRN_CTX_ALLOC_CLEAR) &&
+ (mi->count & GRN_CTX_SEGMENT_DIRTY) && (size > ALIGN_SIZE)) {
+ memset(&header[2], 0, size - ALIGN_SIZE);
}
}
/*