Fossil SCM
Fix a crash that can occur in search when the FTS4 snippet() function returns NULL.
Commit
cee4af9e9c2571eb6a4b688b2e194fe2370279d0bf598394bc0370ac6de86e85
Parent
4dfa592f27f88e8…
1 file changed
+1
+1
| --- src/search.c | ||
| +++ src/search.c | ||
| @@ -952,10 +952,11 @@ | ||
| 952 | 952 | */ |
| 953 | 953 | static char *cleanSnippet(const char *zSnip){ |
| 954 | 954 | int i; |
| 955 | 955 | int n = 0; |
| 956 | 956 | char *z; |
| 957 | + if( zSnip==0 ) zSnip = ""; | |
| 957 | 958 | for(i=0; zSnip[i]; i++) if( zSnip[i]=='<' ) n++; |
| 958 | 959 | z = fossil_malloc( i+n*4+1 ); |
| 959 | 960 | i = 0; |
| 960 | 961 | while( zSnip[0] ){ |
| 961 | 962 | if( zSnip[0]=='<' ){ |
| 962 | 963 |
| --- 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 |