null+****@clear*****
null+****@clear*****
2010年 10月 26日 (火) 10:54:43 JST
Kouhei Sutou 2010-10-26 01:54:43 +0000 (Tue, 26 Oct 2010)
New Revision: 3fb60f4254a3f393e3e3e77a46fc5ecbdab908ed
Log:
add NULL check.
Modified files:
src/groonga.c
Modified: src/groonga.c (+6 -3)
===================================================================
--- src/groonga.c 2010-10-26 01:03:31 +0000 (e57f695)
+++ src/groonga.c 2010-10-26 01:54:43 +0000 (d24fb7a)
@@ -756,9 +756,6 @@ h_output(grn_ctx *ctx, int flags, void *arg)
grn_rc expr_rc = ctx->rc;
ht_context *hc = (ht_context *)arg;
grn_sock fd = hc->msg->u.fd;
- grn_obj *expr = ctx->impl->curr_expr;
- grn_obj *jsonp_func = grn_expr_get_var(ctx, expr, JSON_CALLBACK_PARAM,
- strlen(JSON_CALLBACK_PARAM));
grn_obj *body = &hc->body;
const char *mime_type = ctx->impl->mime_type;
grn_obj head, foot, *outbuf = ctx->impl->outbuf;
@@ -766,6 +763,12 @@ h_output(grn_ctx *ctx, int flags, void *arg)
GRN_TEXT_INIT(&head, 0);
GRN_TEXT_INIT(&foot, 0);
if (!expr_rc) {
+ grn_obj *expr = ctx->impl->curr_expr;
+ grn_obj *jsonp_func = NULL;
+ if (expr) {
+ expr = grn_expr_get_var(ctx, expr, JSON_CALLBACK_PARAM,
+ strlen(JSON_CALLBACK_PARAM));
+ }
if (jsonp_func && GRN_TEXT_LEN(jsonp_func)) {
GRN_TEXT_PUT(ctx, &head, GRN_TEXT_VALUE(jsonp_func), GRN_TEXT_LEN(jsonp_func));
GRN_TEXT_PUTC(ctx, &head, '(');