Fossil SCM

Fix a crash that can occur in search when the FTS4 snippet() function returns NULL.

drh 2017-11-18 17:49 trunk
Commit cee4af9e9c2571eb6a4b688b2e194fe2370279d0bf598394bc0370ac6de86e85
1 file changed +1
--- src/search.c
+++ src/search.c
@@ -952,10 +952,11 @@
952952
*/
953953
static char *cleanSnippet(const char *zSnip){
954954
int i;
955955
int n = 0;
956956
char *z;
957
+ if( zSnip==0 ) zSnip = "";
957958
for(i=0; zSnip[i]; i++) if( zSnip[i]=='<' ) n++;
958959
z = fossil_malloc( i+n*4+1 );
959960
i = 0;
960961
while( zSnip[0] ){
961962
if( zSnip[0]=='<' ){
962963
--- src/search.c
+++ src/search.c
@@ -952,10 +952,11 @@
952 */
953 static char *cleanSnippet(const char *zSnip){
954 int i;
955 int n = 0;
956 char *z;
 
957 for(i=0; zSnip[i]; i++) if( zSnip[i]=='<' ) n++;
958 z = fossil_malloc( i+n*4+1 );
959 i = 0;
960 while( zSnip[0] ){
961 if( zSnip[0]=='<' ){
962
--- src/search.c
+++ src/search.c
@@ -952,10 +952,11 @@
952 */
953 static char *cleanSnippet(const char *zSnip){
954 int i;
955 int n = 0;
956 char *z;
957 if( zSnip==0 ) zSnip = "";
958 for(i=0; zSnip[i]; i++) if( zSnip[i]=='<' ) n++;
959 z = fossil_malloc( i+n*4+1 );
960 i = 0;
961 while( zSnip[0] ){
962 if( zSnip[0]=='<' ){
963

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button