diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-03-29 17:30:58 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-03-29 17:30:58 +0200 |
commit | db69a5281b23003af71068e494a20dc4f3a047aa (patch) | |
tree | 3c09608fdbc0084c44fd03e8bc233a8e43750082 /libstore | |
parent | 0f77ef36b53b1259a7ce928dcdad22af0dffa52e (diff) | |
download | hurd-db69a5281b23003af71068e494a20dc4f3a047aa.tar.gz hurd-db69a5281b23003af71068e494a20dc4f3a047aa.tar.bz2 hurd-db69a5281b23003af71068e494a20dc4f3a047aa.zip |
libstore: Fix memory leak
* libstore/device.c (dopen): Do not use strdup() for `rest'. Free
`master'.
Diffstat (limited to 'libstore')
-rw-r--r-- | libstore/device.c | 4 |
1 files changed, 3 insertions, 1 deletions
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) |