aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2022-10-04 16:46:39 +0000
committerMark Johnston <markj@FreeBSD.org>2022-10-04 17:05:54 +0000
commitd7eec79b7021b8d96bfc327326b84ad7a9edcfb8 (patch)
tree4a83e9c162a5559f9ad875dad8df23d2d847165a
parent47218e711e70fdcca08b6f4bd05a60c986a87e41 (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.c6
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);
}