From: Lennart Poettering Date: Wed, 28 Nov 2018 13:40:56 +0000 (+0100) Subject: mount: use free_and_strdup() over plain strdup() X-Git-Tag: v240~112^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e10fe04266956be492460eea3df668b0634de25a;p=thirdparty%2Fsystemd.git mount: use free_and_strdup() over plain strdup() Let's initialize two fields with free_and_strdup() rather than directly with strdup(). The fields should not be initialized so far, but it's still nicer to be prepared for futzre code changes and always free what's stored before replacing it. --- diff --git a/src/core/mount.c b/src/core/mount.c index a9f64eb39a0..d19dce09447 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -1475,13 +1475,13 @@ static int mount_setup_new_unit( if (r < 0) return r; - u->source_path = strdup("/proc/self/mountinfo"); - MOUNT(u)->where = strdup(where); - if (!u->source_path || !MOUNT(u)->where) - return -ENOMEM; + r = free_and_strdup(&u->source_path, "/proc/self/mountinfo"); + if (r < 0) + return r; - /* Make sure to initialize those fields before mount_is_extrinsic(). */ - MOUNT(u)->from_proc_self_mountinfo = true; + r = free_and_strdup(&MOUNT(u)->where, where); + if (r < 0) + return r; r = update_parameters_proc_self_mount_info(MOUNT(u), what, options, fstype); if (r < 0)