From: Tom Gundersen Date: Thu, 18 Sep 2014 17:07:02 +0000 (+0200) Subject: udevd: check return of various functions X-Git-Tag: v217~514 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=d457ff8319b1e7c522c146f75e272f1226f4720c udevd: check return of various functions One reported by Coverity. Fixes CID #996252. --- diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 95c646802..9210da6c4 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1139,13 +1139,26 @@ int main(int argc, char *argv[]) { goto exit; } - label_init("/dev"); + r = label_init("/dev"); + if (r < 0) { + log_error("could not initialize labelling: %s", strerror(-r)); + goto exit; + } /* set umask before creating any file/directory */ - chdir("/"); + r = chdir("/"); + if (r < 0) { + log_error("could not change dir to /: %m"); + goto exit; + } + umask(022); - mkdir("/run/udev", 0755); + r = mkdir("/run/udev", 0755); + if (r < 0) { + log_error("could not create /run/udev: %m"); + goto exit; + } dev_setup(NULL);