cutils: replace strdup with g_strdup
Memory returned by get_relocated_path must be freed with free or g_free depending on the path that the function took; Coverity takes exception to this practice. The fix lets caller use g_free as is standard in QEMU. While at it, mention the requirements on the caller in the doc comment. Suggested-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
83851c7c60
commit
090afdc5e6
@ -205,6 +205,7 @@ int qemu_pstrcmp0(const char **str1, const char **str2);
|
|||||||
* as the prefix. For example, if `bindir` is `/usr/bin` and @dir is
|
* as the prefix. For example, if `bindir` is `/usr/bin` and @dir is
|
||||||
* `/usr/share/qemu`, the function will append `../share/qemu` to the
|
* `/usr/share/qemu`, the function will append `../share/qemu` to the
|
||||||
* directory that contains the running executable and return the result.
|
* directory that contains the running executable and return the result.
|
||||||
|
* The returned string should be freed by the caller.
|
||||||
*/
|
*/
|
||||||
char *get_relocated_path(const char *dir);
|
char *get_relocated_path(const char *dir);
|
||||||
|
|
||||||
|
@ -937,7 +937,7 @@ char *get_relocated_path(const char *dir)
|
|||||||
/* Fail if qemu_init_exec_dir was not called. */
|
/* Fail if qemu_init_exec_dir was not called. */
|
||||||
assert(exec_dir[0]);
|
assert(exec_dir[0]);
|
||||||
if (!starts_with_prefix(dir) || !starts_with_prefix(bindir)) {
|
if (!starts_with_prefix(dir) || !starts_with_prefix(bindir)) {
|
||||||
return strdup(dir);
|
return g_strdup(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
result = g_string_new(exec_dir);
|
result = g_string_new(exec_dir);
|
||||||
|
Loading…
Reference in New Issue
Block a user