Skip to content

Commit

Permalink
Merge pull request #716 from komainu8/feature/add_check_return_value_…
Browse files Browse the repository at this point in the history
…of_grn_ctx_at

Add null check of grn_ctx_at()'s return value in geo.c

Patch by komainu8. Thanks!!!
  • Loading branch information
kou committed Jun 22, 2017
2 parents 534fc98 + 4a318cd commit 9a9e60c
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions lib/geo.c
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,11 @@ grn_geo_table_sort(grn_ctx *ctx, grn_obj *table, int offset, int limit,
if ((index = find_geo_sort_index(ctx, column))) {
grn_id tid;
grn_pat *pat = (grn_pat *)grn_ctx_at(ctx, index->header.domain);
if (!pat) {
ERR(GRN_INVALID_ARGUMENT, "grn_ctx_at(): unknown grn_id"
"index->header.domain:%d", index->header.domain);
GRN_API_RETURN(i);
}
grn_id domain = pat->obj.header.domain;
grn_pat_cursor *pc = grn_pat_cursor_open(ctx, pat, NULL, 0,
GRN_BULK_HEAD(geo_point),
Expand Down Expand Up @@ -871,6 +876,11 @@ grn_geo_select_in_circle(grn_ctx *ctx, grn_obj *index,
grn_geo_point *center, on_circle;
grn_geo_distance_raw_func distance_raw_func;
pat = grn_ctx_at(ctx, index->header.domain);
if (!pat) {
ERR(GRN_INVALID_ARGUMENT, "grn_ctx_at(): unknown grn_id"
"index->header.domain:%d", index->header.domain);
goto exit;
}
domain = pat->header.domain;
if (domain != GRN_DB_TOKYO_GEO_POINT && domain != GRN_DB_WGS84_GEO_POINT) {
char name[GRN_TABLE_MAX_KEY_SIZE];
Expand Down Expand Up @@ -1043,6 +1053,11 @@ in_rectangle_data_fill(grn_ctx *ctx, grn_obj *index,
const char *domain_name;

data->pat = grn_ctx_at(ctx, index->header.domain);
if(!data->pat) {
ERR(GRN_INVALID_ARGUMENT, "grn_ctx_at(): unknown grn_id"
"index->header.domain:%d", index->header.domain);
return;
}
domain = data->pat->header.domain;
if (domain != GRN_DB_TOKYO_GEO_POINT && domain != GRN_DB_WGS84_GEO_POINT) {
char name[GRN_TABLE_MAX_KEY_SIZE];
Expand Down

0 comments on commit 9a9e60c

Please sign in to comment.