dcavalca / rpms / util-linux

Forked from rpms/util-linux 2 years ago
Clone
Blob Blame History Raw
From 90d4faece26c328c40336a0e02b875515c503e30 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Mon, 19 Aug 2019 14:03:07 +0200
Subject: [PATCH 31/32] chfn: don't append extra tailing commas

 # grep kzak /etc/passwd
 kzak:x:1000:1000::/home/kzak:/bin/bash

 # chfn kzak
 ...
 grep kzak /etc/passwd

old version:
 kzak:x:1000:1000:Karel Zak,,,,:/home/kzak:/bin/bash

fixed version:
 kzak:x:1000:1000:Karel Zak:/home/kzak:/bin/bash

Reported-by: Filip Dvorak <fdvorak@redhat.com>
References: f723cbf544a7eac2927634f2cb6d802437a2d519
Upstream: http://github.com/karelzak/util-linux/commit/9210c0d225fd808da451d86055bf243a8b47a525
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1743555
Signed-off-by: Karel Zak <kzak@redhat.com>
---
 login-utils/chfn.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/login-utils/chfn.c b/login-utils/chfn.c
index c5312fa0c..4f32604c5 100644
--- a/login-utils/chfn.c
+++ b/login-utils/chfn.c
@@ -377,7 +377,7 @@ static int save_new_data(struct chfn_control *ctl)
 			ctl->newf.other);
 
 	/* remove trailing empty fields (but not subfields of ctl->newf.other) */
-	if (!ctl->newf.other) {
+	if (!ctl->newf.other || !*ctl->newf.other) {
 		while (len > 0 && gecos[len - 1] == ',')
 			len--;
 		gecos[len] = 0;
-- 
2.21.0