From d8328690d99aadad5c121da4eee05e940cddb8bb Mon Sep 17 00:00:00 2001 From: Kailasnath Nagarkar Date: Wed, 15 Mar 2017 16:45:21 +0530 Subject: [PATCH] Bug #25447551: HANDLE_FATAL_SIGNAL (SIG=11) IN FT_BOOLEAN_CHECK_SYNTAX_STRING ISSUE: my_isalnum macro used for checking if character is alphanumeric dereferences uninitialized pointer in default character set structure resulting in server exiting abnormally. FIX: Used standard isalnum function instead of macro my_isalnum. --- storage/myisam/ft_parser.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/storage/myisam/ft_parser.c b/storage/myisam/ft_parser.c index 4d5899107c2..bbb85e8b68b 100644 --- a/storage/myisam/ft_parser.c +++ b/storage/myisam/ft_parser.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,6 +16,7 @@ /* Written by Sergei A. Golubchik, who has a shared copyright to this code */ #include "ftdefs.h" +#include "ctype.h" typedef struct st_ft_docstat { FT_WORD *list; @@ -89,7 +90,7 @@ my_bool ft_boolean_check_syntax_string(const uchar *str) for (i=0; i 127 || my_isalnum(default_charset_info, str[i])) + if ((unsigned char)(str[i]) > 127 || isalnum(str[i])) return 1; for (j=0; j