Loading myisam/ft_boolean_search.c +6 −5 Original line number Diff line number Diff line Loading @@ -345,11 +345,12 @@ static void _ftb_init_index_search(FT_INFO *ftb) if (ftbe->flags & FTB_FLAG_NO || /* 2 */ ftbe->up->ythresh - ftbe->up->yweaks >1) /* 1 */ { FTB_EXPR *top_ftbe=ftbe->up->up; FTB_EXPR *top_ftbe=ftbe->up; ftbw->docid[0]=HA_OFFSET_ERROR; for (ftbe=ftbw->up; ftbe != top_ftbe; ftbe=ftbe->up) if (!(ftbe->flags & FTB_FLAG_NO)) ftbe->yweaks++; for (ftbe=(FTB_EXPR *)ftbw; ftbe != top_ftbe && !(ftbe->flags & FTB_FLAG_NO); ftbe=ftbe->up) ftbe->up->yweaks++; ftbe=0; break; } Loading mysql-test/r/fulltext.result +3 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,9 @@ select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN B a b select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE); a b select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE); a b Full-text indexes are called collections select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); a b select * from t1 where MATCH a,b AGAINST('"space model' IN BOOLEAN MODE); Loading mysql-test/t/fulltext.test +1 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); # bug#2708, bug#3870 crash Loading ndb/src/common/util/strdup.c +2 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ char * strdup(const char *s){ void *p2; p2 = malloc(strlen(s)+1); if ((p2 = malloc(strlen(s)+1))) strcpy(p2, s); return p2; } Loading sql/log.cc +2 −2 Original line number Diff line number Diff line Loading @@ -2247,9 +2247,9 @@ void print_buffer_to_nt_eventlog(enum loglevel level, char *buff, DBUG_ENTER("print_buffer_to_nt_eventlog"); buffptr= buff; if (length > (uint)(buffLen-4)) if (length > (uint)(buffLen-5)) { char *newBuff= new char[length + 4]; char *newBuff= new char[length + 5]; strcpy(newBuff, buff); buffptr= newBuff; } Loading Loading
myisam/ft_boolean_search.c +6 −5 Original line number Diff line number Diff line Loading @@ -345,11 +345,12 @@ static void _ftb_init_index_search(FT_INFO *ftb) if (ftbe->flags & FTB_FLAG_NO || /* 2 */ ftbe->up->ythresh - ftbe->up->yweaks >1) /* 1 */ { FTB_EXPR *top_ftbe=ftbe->up->up; FTB_EXPR *top_ftbe=ftbe->up; ftbw->docid[0]=HA_OFFSET_ERROR; for (ftbe=ftbw->up; ftbe != top_ftbe; ftbe=ftbe->up) if (!(ftbe->flags & FTB_FLAG_NO)) ftbe->yweaks++; for (ftbe=(FTB_EXPR *)ftbw; ftbe != top_ftbe && !(ftbe->flags & FTB_FLAG_NO); ftbe=ftbe->up) ftbe->up->yweaks++; ftbe=0; break; } Loading
mysql-test/r/fulltext.result +3 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,9 @@ select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN B a b select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE); a b select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE); a b Full-text indexes are called collections select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); a b select * from t1 where MATCH a,b AGAINST('"space model' IN BOOLEAN MODE); Loading
mysql-test/t/fulltext.test +1 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); # bug#2708, bug#3870 crash Loading
ndb/src/common/util/strdup.c +2 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ char * strdup(const char *s){ void *p2; p2 = malloc(strlen(s)+1); if ((p2 = malloc(strlen(s)+1))) strcpy(p2, s); return p2; } Loading
sql/log.cc +2 −2 Original line number Diff line number Diff line Loading @@ -2247,9 +2247,9 @@ void print_buffer_to_nt_eventlog(enum loglevel level, char *buff, DBUG_ENTER("print_buffer_to_nt_eventlog"); buffptr= buff; if (length > (uint)(buffLen-4)) if (length > (uint)(buffLen-5)) { char *newBuff= new char[length + 4]; char *newBuff= new char[length + 5]; strcpy(newBuff, buff); buffptr= newBuff; } Loading