[groonga-dev,00145] Re: grn_table_columns()のエラーチェック

Back to archive index

morit****@razil***** morit****@razil*****
2009年 7月 29日 (水) 23:43:50 JST


森です。

ご指摘ありがとうございます。落ちないようにしたいと思います!

>>> Kouhei Sutou さんは書きました:
> 須藤です。
> 
> 名前のないテーブルに対してgrn_table_columns()を呼ぶと落ちて
> しまいます。名前が設定されているかどうかもチェックするという
> のはどうでしょうか?
> 
> diff --git a/lib/db.c b/lib/db.c
> index d8808aa..7a8a90e 100644
> --- a/lib/db.c
> +++ b/lib/db.c
> @@ -1779,7 +1779,7 @@ grn_table_columns(grn_ctx *ctx, grn_obj *table, const char *name, unsigned name_
>  {
>    int n = 0;
>    GRN_API_ENTER;
> -  if (GRN_OBJ_TABLEP(table)) {
> +  if (GRN_OBJ_TABLEP(table) && grn_obj_name(ctx, table, NULL, 0) > 0) {
>      grn_obj bulk;
>      grn_db *s = (grn_db *)DB_OBJ(table)->db;
>      GRN_TEXT_INIT(&bulk, 0);
> 
> # エラーメッセージも設定する方がより親切ですが。。。
> 
> -- 
> 須藤 功平 <kou****@clear*****>
> 株式会社クリアコード (http://www.clear-code.com/)
> 
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
> 
--
morita




groonga-dev メーリングリストの案内
Back to archive index