LTTNG_HIDDEN
char *utils_partial_realpath(const char *path, char *resolved_path, size_t size)
{
- char *cut_path, *try_path = NULL, *try_path_prev = NULL;
+ char *cut_path = NULL, *try_path = NULL, *try_path_prev = NULL;
const char *next, *prev, *end;
/* Safety net */
/* Free the allocated memory */
free(cut_path);
- };
+ cut_path = NULL;
+ }
/* Allocate memory for the resolved path if necessary */
if (resolved_path == NULL) {
/* Free the allocated memory */
free(cut_path);
free(try_path_prev);
+ cut_path = NULL;
+ try_path_prev = NULL;
/*
* Else, we just copy the path in our resolved_path to
* return it as is
error:
free(resolved_path);
+ free(cut_path);
return NULL;
}
ret = unlink(path);
} else {
ret = run_as_unlink(path, uid, gid);
- if (ret < 0) {
- errno = -ret;
- ret = -1;
- }
}
if (ret < 0) {
goto error;