mirror of
https://git.openafs.org/openafs.git
synced 2025-01-21 00:10:15 +00:00
fs: Fix bad frees
On an error GetLastComponent was freeing completely the wrong thing. Fix this so it frees the memory it has allocated, and not some random stack pointer. Caught by clang-analyzer Change-Id: I8b65f7ab36647b876fae5cbe59d82fd8d38ce0b7 Reviewed-on: http://gerrit.openafs.org/7093 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementix.org>
This commit is contained in:
parent
9a007a9df4
commit
9cbc3b77db
@ -1716,6 +1716,9 @@ GetLastComponent(const char *data, char **outdir, char **outbase,
|
||||
char *dirname = NULL;
|
||||
char *basename = NULL;
|
||||
|
||||
*outbase = NULL;
|
||||
*outdir = NULL;
|
||||
|
||||
if (thru_symlink)
|
||||
*thru_symlink = 0;
|
||||
|
||||
@ -1800,10 +1803,10 @@ GetLastComponent(const char *data, char **outdir, char **outbase,
|
||||
return 0;
|
||||
|
||||
out:
|
||||
if (outdir)
|
||||
free(outdir);
|
||||
if (outbase)
|
||||
free(outbase);
|
||||
if (dirname)
|
||||
free(dirname);
|
||||
if (basename)
|
||||
free(basename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user