]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: variable dereferenced before check 'cmsg'
authorKarel Zak <kzak@redhat.com>
Thu, 6 Aug 2015 11:46:49 +0000 (13:46 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 6 Aug 2015 11:46:49 +0000 (13:46 +0200)
src/udev/udev-ctrl.c

index b0ad277f735c9dba5f5e590fdd7b50b567cfbfef..b4ae0944eb61cf77c0f37e9edc436ed646f54808 100644 (file)
@@ -379,13 +379,14 @@ struct udev_ctrl_msg *udev_ctrl_receive_msg(struct udev_ctrl_connection *conn) {
         cmsg_close_all(&smsg);
 
         cmsg = CMSG_FIRSTHDR(&smsg);
-        cred = (struct ucred *) CMSG_DATA(cmsg);
 
         if (cmsg == NULL || cmsg->cmsg_type != SCM_CREDENTIALS) {
                 log_error("no sender credentials received, message ignored");
                 goto err;
         }
 
+        cred = (struct ucred *) CMSG_DATA(cmsg);
+
         if (cred->uid != 0) {
                 log_error("sender uid="UID_FMT", message ignored", cred->uid);
                 goto err;