mirror of
https://github.com/neovim/neovim.git
synced 2025-11-16 15:21:20 +00:00
coverity/105568: Free of array-typed value: FP.
Problem : Free of array-typed value @ 3628.
Diagnostic : False positive.
Rationale : expand_shell_cmd() is called with a mock value for file
(*file = (char_u **)""). That means we want file to be
filled with a new value. We can't use *file = NULL because
that means we don't want file to be filled.
Now, coverity incorrectly thinks that sentinel value is the
one we are freeing up at some other later point, which is
not the case.
Resolution : Assert that, when we are freeing *file, its value is
different than the sentinel one.
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
* ex_getln.c: Functions for entering and editing an Ex command line.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
@@ -3858,8 +3859,10 @@ expand_shellcmd (
|
||||
STRLCPY(buf + l, pat, MAXPATHL - l);
|
||||
|
||||
/* Expand matches in one directory of $PATH. */
|
||||
char_u **prev_file = *file;
|
||||
ret = expand_wildcards(1, &buf, num_file, file, flags);
|
||||
if (ret == OK) {
|
||||
assert(*file != prev_file);
|
||||
ga_grow(&ga, *num_file);
|
||||
{
|
||||
for (i = 0; i < *num_file; ++i) {
|
||||
|
||||
Reference in New Issue
Block a user