nlen has to be added to len when inserting (capitalized) pw_name as substitution for "&" in pw_gecos. Otherwise, pw_gecos will be truncated and data might be written beyond name+sz. Signed-off-by: Rafael Gieschke <rafael@xxxxxxxxxxx> --- ident.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/ident.c b/ident.c index 1c4adb0..8e56b5e 100644 --- a/ident.c +++ b/ident.c @@ -34,6 +34,7 @@ static void copy_gecos(const struct passwd *w, char *name, size_t sz) *dst++ = toupper(*w->pw_name); memcpy(dst, w->pw_name + 1, nlen - 1); dst += nlen - 1; + len += nlen; } } if (len < sz) -- 1.7.4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html