diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2022-10-04 16:46:39 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2022-10-04 17:05:54 +0000 |
| commit | d7eec79b7021b8d96bfc327326b84ad7a9edcfb8 (patch) | |
| tree | 4a83e9c162a5559f9ad875dad8df23d2d847165a | |
| parent | 47218e711e70fdcca08b6f4bd05a60c986a87e41 (diff) | |
makefs: Plug a memory leak
nvlist_find_string() would return a copy of the found value, but callers
assumed they would have to make their own copy. It's simpler to change
nvlist_find_string() than it is to change callers, so do that.
Reported by: Coverity
| -rw-r--r-- | usr.sbin/makefs/zfs/dsl.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/usr.sbin/makefs/zfs/dsl.c b/usr.sbin/makefs/zfs/dsl.c index 28560dd4a429..52cb2fa22589 100644 --- a/usr.sbin/makefs/zfs/dsl.c +++ b/usr.sbin/makefs/zfs/dsl.c @@ -75,10 +75,8 @@ nvlist_find_string(nvlist_t *nvl, const char *key, char **retp) int error, len; error = nvlist_find(nvl, key, DATA_TYPE_STRING, NULL, &str, &len); - if (error == 0) { - *retp = ecalloc(1, len + 1); - memcpy(*retp, str, len); - } + if (error == 0) + *retp = str; return (error); } |
