From: Karel Zak Date: Wed, 5 Aug 2015 09:45:57 +0000 (+0200) Subject: agetty: cleanup plymouth usage [coverity scan] X-Git-Tag: v2.27-rc2~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a359830c1afa2bcd5081c545d206ebb20a6bd76f;p=thirdparty%2Futil-linux.git agetty: cleanup plymouth usage [coverity scan] * use macros for paths * check open() return value Signed-off-by: Karel Zak --- diff --git a/term-utils/agetty.c b/term-utils/agetty.c index bf5a8d38e0..0237b79d9e 100644 --- a/term-utils/agetty.c +++ b/term-utils/agetty.c @@ -137,6 +137,9 @@ static int inotify_fd = AGETTY_RELOAD_FDNONE; static int netlink_fd = AGETTY_RELOAD_FDNONE; #endif +#define AGETTY_PLYMOUTH "/usr/bin/plymouth" +#define AGETTY_PLYMOUTH_FDFILE "/dev/null" + /* * When multiple baud rates are specified on the command line, the first one * we will try is the first one specified. @@ -2580,7 +2583,6 @@ err: */ static int plymouth_command(const char* arg) { - const char *cmd = "/usr/bin/plymouth"; static int has_plymouth = 1; pid_t pid; @@ -2589,12 +2591,16 @@ static int plymouth_command(const char* arg) pid = fork(); if (!pid) { - int fd = open("/dev/null", O_RDWR); + int fd = open(AGETTY_PLYMOUTH_FDFILE, O_RDWR); + + if (fd < 0) + err(EXIT_FAILURE,_("cannot open %s"), + AGETTY_PLYMOUTH_FDFILE); dup2(fd, 0); dup2(fd, 1); dup2(fd, 2); close(fd); - execl(cmd, cmd, arg, (char *) NULL); + execl(AGETTY_PLYMOUTH, AGETTY_PLYMOUTH, arg, (char *) NULL); exit(127); } else if (pid > 0) { int status;