Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | Crash in lingucomponent thesaurus | ||
---|---|---|---|
Product: | Infrastructure | Reporter: | thomas.lange |
Component: | Website general issues | Assignee: | issues@lingucomponent <issues> |
Status: | CLOSED FIXED | QA Contact: | issues@lingucomponent <issues> |
Severity: | Trivial | ||
Priority: | P3 | CC: | issues |
Version: | current | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Latest Confirmation in: | --- |
Developer Difficulty: | --- |
Description
thomas.lange
2004-01-12 10:48:13 UTC
Hi Thomas, sal_Int32 ThesLookup::binsearch(sal_Char * sw, sal_Char* list[], int nlst) { sal_Int32 lp, up, mp, j, indx; lp = 0; up = nlst-1; indx = -1; if (rtl_str_compare(sw,list[lp]) < 0) return -1; if (rtl_str_compare(sw,list[up]) > 0) return -1; This segfault seems to indicate that either a null pointer was passed to ThLookup or the thesaurus data file itslef is corrupted since the list itself should always have entries in it. So unless OString aTmp(OU2ENC(rTerm,aEnc)); can somehow return a NULL string even when when rTerm has positive length (tested ealier), this bug is probably from corrupt data in the list. So are they using the thesaurus I built or some replacement thesaurus like the German or other thesaurus? If they are using the German thesaurus, then this really is an issue for the German thesaurus author since his/her data file is corrupt. I will try to add some code to prevent "corrupt" data from crashing here to make this code more robust. Luckily the whole thesaurus code is moving away form binary pre-processed data files to pure text format for OOo 2.0 so the problem of corrupt input files being passed to the thesaurus code will be a thing of the past. Thanks, Kevin The thesaurus code was heavily modified for 2.0, I think this report can be closed. Closing this report, as the thesaurus data format has been changed for OOo 2.0 and this shouldn't happen anymore. *** Issue 24307 has been marked as a duplicate of this issue. *** closing. |