Navigation Menu

Skip to content

Commit

Permalink
mariadb: fix crash
Browse files Browse the repository at this point in the history
refs #1304

Reported by Kazuhiko Shiozaki. Thanks!!!
  • Loading branch information
kou committed Mar 7, 2012
1 parent 8bb2c46 commit a5393e7
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
6 changes: 4 additions & 2 deletions ha_mroonga.cc
Expand Up @@ -2053,8 +2053,10 @@ int ha_mroonga::create_share_for_create() const
memset(&table_share_for_create, 0, sizeof(TABLE_SHARE));
init_alloc_root(&mem_root_for_create, 1024, 0);
analyzed_for_create = TRUE;
share_for_create.table_name = table_list->table_name;
share_for_create.table_name_length = table_list->table_name_length;
if (table_list) {
share_for_create.table_name = table_list->table_name;
share_for_create.table_name_length = table_list->table_name_length;
}
share_for_create.table_share = &table_share_for_create;
table_share_for_create.comment = create_info->comment;
table_share_for_create.connect_string = create_info->connect_string;
Expand Down
8 changes: 5 additions & 3 deletions mrn_table.cc
Expand Up @@ -177,7 +177,7 @@ void mrn_get_partition_info(const char *table_name, uint table_name_length,
if (!part_info)
DBUG_VOID_RETURN;

if (!memcmp(table_name + table_name_length - 5, "#TMP#", 5))
if (table_name && !memcmp(table_name + table_name_length - 5, "#TMP#", 5))
tmp_flg = TRUE;

DBUG_PRINT("info", ("mroonga table_name=%s", table_name));
Expand All @@ -193,10 +193,11 @@ void mrn_get_partition_info(const char *table_name, uint table_name_length,
(*part_elem)->partition_name, (*sub_elem)->partition_name,
NORMAL_PART_NAME);
DBUG_PRINT("info", ("mroonga tmp_name=%s", tmp_name));
if (!memcmp(table_name, tmp_name, table_name_length + 1))
if (table_name && !memcmp(table_name, tmp_name, table_name_length + 1))
DBUG_VOID_RETURN;
if (
tmp_flg &&
table_name &&
*(tmp_name + table_name_length - 5) == '\0' &&
!memcmp(table_name, tmp_name, table_name_length - 5)
) {
Expand All @@ -210,10 +211,11 @@ void mrn_get_partition_info(const char *table_name, uint table_name_length,
create_partition_name(tmp_name, table->s->path.str,
(*part_elem)->partition_name, NORMAL_PART_NAME, TRUE);
DBUG_PRINT("info", ("mroonga tmp_name=%s", tmp_name));
if (!memcmp(table_name, tmp_name, table_name_length + 1))
if (table_name && !memcmp(table_name, tmp_name, table_name_length + 1))
DBUG_VOID_RETURN;
if (
tmp_flg &&
table_name &&
*(tmp_name + table_name_length - 5) == '\0' &&
!memcmp(table_name, tmp_name, table_name_length - 5)
) {
Expand Down

0 comments on commit a5393e7

Please sign in to comment.