From: Yu Watanabe Date: Tue, 29 May 2018 16:35:26 +0000 (+0900) Subject: locale: use _cleanup_free_ and free_and_replace X-Git-Tag: v239~176^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a837b035fa69f02f20815d00ce6c261b9f1a2e9;p=thirdparty%2Fsystemd.git locale: use _cleanup_free_ and free_and_replace --- diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c index 7cc2eb44071..50f7a1b7f7c 100644 --- a/src/locale/keymap-util.c +++ b/src/locale/keymap-util.c @@ -668,7 +668,7 @@ int x11_convert_to_vconsole(Context *c) { context_free_vconsole(c); } else { - char *new_keymap = NULL; + _cleanup_free_ char *new_keymap = NULL; int r; r = find_converted_keymap(c->x11_layout, c->x11_variant, &new_keymap); @@ -687,12 +687,10 @@ int x11_convert_to_vconsole(Context *c) { c->x11_layout); if (!streq_ptr(c->vc_keymap, new_keymap)) { - free(c->vc_keymap); - c->vc_keymap = new_keymap; + free_and_replace(c->vc_keymap, new_keymap); c->vc_keymap_toggle = mfree(c->vc_keymap_toggle); modified = true; - } else - free(new_keymap); + } } if (modified)