updated for version 7.0078
diff --git a/src/if_cscope.c b/src/if_cscope.c
index 9693f84..3e5e26c 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -1726,6 +1726,7 @@
*
* get parsed cscope output and calls cs_make_vim_style_matches to convert
* into ctags format
+ * When there are no matches sets "*matches_p" to NULL.
*/
static void
cs_fill_results(tagstr, totmatches, nummatches_a, matches_p, cntxts_p, matched)
@@ -1790,9 +1791,18 @@
} /* for all cscope connections */
parse_out:
+ if (totsofar == 0)
+ {
+ /* No matches, free the arrays and return NULL in "*matches_p". */
+ vim_free(matches);
+ matches = NULL;
+ vim_free(cntxts);
+ cntxts = NULL;
+ }
*matched = totsofar;
*matches_p = matches;
*cntxts_p = cntxts;
+
vim_free(buf);
} /* cs_fill_results */