From vadim@gc.lviv.ua Mon Nov 16 09:33:07 1998 Date: Mon, 16 Nov 1998 16:26:11 +0200 From: Vadim Chekan To: htdig maillist Subject: htdig: [Patch] Incorrect ExternalParser can kill htDig [The following text is in the "koi8-r" character set] [Your display is set for the "US-ASCII" character set] [Some characters may be displayed incorrectly] Hello! I wrote my own external parser for WinWord document and done error in it. External parser must write to stdout "w \t <3 parameters>". But if parameters is less then 3 then Dig core dump. After debuging htdig.core i found problem in source code. Function strtok return null if no more tokens. But any chek don't done. Vadim Chekan. Index: ExternalParser.cc =================================================================== RCS file: /opt/htdig/cvs/htdig3/htdig/ExternalParser.cc,v retrieving revision 1.2 diff -u -p -r1.2 ExternalParser.cc --- ExternalParser.cc 1997/03/24 04:33:16 1.2 +++ ExternalParser.cc 1998/11/16 14:27:27 @@ -156,7 +156,10 @@ ExternalParser::parse(Retriever &retriev token1 = strtok(0, "\t"); token2 = strtok(0, "\t"); token3 = strtok(0, "\t"); +if ( token1!=NULL & token2!=NULL & token3!=NULL ) retriever.got_word(token1, atoi(token2), atoi(token3)); +else +cerr<< "External parser error in line:"<