Bug #301 | MySQL (charset tis620) crash(signal11) when query partial index (CHAR) | ||
---|---|---|---|
Submitted: | 16 Apr 2003 21:36 | Modified: | 17 Apr 2003 6:38 |
Reporter: | Nartpong Ampornaramveth | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | 4.0.12 | OS: | Linux (Linux) |
Assigned to: | CPU Architecture: | Any |
[16 Apr 2003 21:36]
Nartpong Ampornaramveth
[17 Apr 2003 6:38]
MySQL Verification Team
Thank you for your bug report. It helped us fix a crashing bug in 4.0.12. Fix will come in 4.0.13, but this is a patch: ===== strings/ctype-tis620.c 1.18 vs edited ===== *** /tmp/ctype-tis620.c-1.18-16197 Thu Mar 13 13:42:45 2003 --- edited/strings/ctype-tis620.c Thu Apr 17 16:28:38 2003 *************** *** 491,497 **** return((uchar*) tstr); } pLeft4 = pRight4;*/ ! while(len--) { if(isldvowel(*p) && isconsnt(p[1])) { *pRight1++ = t_ctype[p[1]][0]; *pRight2++ = t_ctype[p[1]][1]; --- 491,497 ---- return((uchar*) tstr); } pLeft4 = pRight4;*/ ! while((len--)) { if(isldvowel(*p) && isconsnt(p[1])) { *pRight1++ = t_ctype[p[1]][0]; *pRight2++ = t_ctype[p[1]][1]; *************** *** 501,507 **** *pRight2++ = t_ctype[*p][1]; *pRight3++ = t_ctype[*p][2]; /* *pRight4++ = t_ctype[*p][3]; */ ! len--; p += 2; } else { *pRight1 = t_ctype[*p][0]; --- 501,508 ---- *pRight2++ = t_ctype[*p][1]; *pRight3++ = t_ctype[*p][2]; /* *pRight4++ = t_ctype[*p][3]; */ ! if (!(len--)) ! break; p += 2; } else { *pRight1 = t_ctype[*p][0];