summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-29 17:30:58 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-29 17:30:58 +0200
commitdb69a5281b23003af71068e494a20dc4f3a047aa (patch)
tree3c09608fdbc0084c44fd03e8bc233a8e43750082
parent0f77ef36b53b1259a7ce928dcdad22af0dffa52e (diff)
libstore: Fix memory leak
* libstore/device.c (dopen): Do not use strdup() for `rest'. Free `master'.
-rw-r--r--libstore/device.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libstore/device.c b/libstore/device.c
index b8961a524..0d4ca4774 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)