From: Karel Zak Date: Tue, 9 Jun 2009 14:35:07 +0000 (+0200) Subject: switch_root: use snprintf() rather tan str{cpy,cat}() X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8f24e52ed75ea16962a40a9628ae9ef85a2d034c;p=util-linux switch_root: use snprintf() rather tan str{cpy,cat}() Signed-off-by: Peter Jones Signed-off-by: Karel Zak --- diff --git a/sys-utils/switch_root.c b/sys-utils/switch_root.c index 14d2916b..8daacb1d 100644 --- a/sys-utils/switch_root.c +++ b/sys-utils/switch_root.c @@ -1,7 +1,7 @@ /* * switchroot.c - switch to new root directory and start init. * - * Copyright 2002-2008 Red Hat, Inc. All rights reserved. + * Copyright 2002-2009 Red Hat, Inc. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -113,8 +113,9 @@ static int switchroot(const char *newroot) for (i = 0; umounts[i] != NULL; i++) { char newmount[PATH_MAX]; - strcpy(newmount, newroot); - strcat(newmount, umounts[i]); + + snprintf(newmount, sizeof(newmount), "%s%s", newroot, umounts[i]); + if (mount(umounts[i], newmount, NULL, MS_MOVE, NULL) < 0) { warn("failed to mount moving %s to %s", umounts[i], newmount);