[sword-devel] Reliable crash in regex search with some characters

Peter von Kaehne refdoc at gmx.net
Thu Mar 6 17:24:56 MST 2014


Searching with regex and some specific characters leads to a reliable
crash. 

The crash seems to be focussed on regec.c (/src/utilfuns/regex.c). It
does not happen with "normal"searches, just with some signs like
questionmarks etc.

The bug had been confusingly entitled with lucene search bug in Jira,
but i have now renamed it. API-168

Peter

peter at peter-ThinkPad-T430:~/Source/sword/src/utilfuns$ gdb diatheke
GNU gdb (GDB) 7.6.1-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/diatheke...(no debugging symbols
found)...done.
(gdb) r -b ESV -s regex -k ?
Starting program: /usr/local/bin/diatheke -b ESV -s regex -k ?
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff66e7762 in __regexec (preg=0x7fffffffd740, string=0x889ba0
"In the beginning, God created the heavens and the earth.", nmatch=0,
pmatch=0x0, eflags=0)
    at regexec.c:247
247	regexec.c: No such file or directory.
(gdb) bt
#0  0x00007ffff66e7762 in __regexec (preg=0x7fffffffd740,
string=0x889ba0 "In the beginning, God created the heavens and the
earth.", nmatch=0, pmatch=0x0, eflags=0)
    at regexec.c:247
#1  0x0000000000433113 in sword::SWModule::search(char const*, int, int,
sword::SWKey*, bool*, void (*)(char, void*), void*) ()
#2  0x000000000040a3a0 in doquery(unsigned long, unsigned char, unsigned
char, unsigned long, unsigned char, char const*, char const*, char
const*, char const*, std::ostream*, char const*, signed char) ()
#3  0x0000000000404fad in main ()





More information about the sword-devel mailing list