Well, for geanyctags it is a false positive in terms of bug detection but technically it really is "Mismatching allocation and deallocation".
The `argv` variable is only used on Windows but it's declared for linux builds too. The related code looks this way: ``` gchar **argv = NULL;
#ifndef G_OS_WIN32 /* run within shell so we can use pipes */ argv = g_new0(gchar *, 4); argv[0] = g_strdup("/bin/sh"); argv[1] = g_strdup("-c"); argv[2] = g_strdup(cmd); argv[3] = NULL; #endif
g_strfreev(argv); ``` Sice `g_strfreev()` on NULL pointer does nothing, there's no real problem on linux.
To eliminate the warning, the `argv` variable could be only declared/freed in the `#ifndef G_OS_WIN32` blocks because it's unused on linux.