Snatched from Fedora. --- slocate-2.7/main.c +++ slocate-2.7/main.c @@ -1265,6 +1265,11 @@ pathlen = code_ptr - codedpath; + if (pathlen < 0) { + fprintf(stderr,"%s: decode_db() aborted. Corrupt database?\n",progname); + exit(1); + } + jump = 0; while (!jump) { ch = *begin_ptr;