From db69a5281b23003af71068e494a20dc4f3a047aa Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 29 Mar 2020 17:30:58 +0200 Subject: libstore: Fix memory leak * libstore/device.c (dopen): Do not use strdup() for `rest'. Free `master'. --- libstore/device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libstore') diff --git a/libstore/device.c b/libstore/device.c index b8961a52..0d4ca477 100644 --- a/libstore/device.c +++ b/libstore/device.c @@ -103,7 +103,7 @@ dopen (const char *name, device_t *device, int *mod_flags) if ( (name[0] == '@') && (pos = strchr (name, ':')) ) { master = strndup (name+1, pos-(name+1)); - rest = strdup (pos+1); + rest = pos+1; if (*mod_flags & STORE_HARD_READONLY) { @@ -141,6 +141,8 @@ dopen (const char *name, device_t *device, int *mod_flags) else err = ENODEV; } + + free (master); } if (err) -- cgit v1.2.3