Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 266290
Collapse All | Expand All

(-)udev-124~/udevd.c (-1 / +19 lines)
Lines 753-768 static struct udevd_uevent_msg *get_netl Link Here
753
	struct udevd_uevent_msg *msg;
753
	struct udevd_uevent_msg *msg;
754
	int bufpos;
754
	int bufpos;
755
	ssize_t size;
755
	ssize_t size;
756
	struct sockaddr_nl snl;
757
	struct msghdr smsg;
758
	struct iovec iov;
756
	static char buffer[UEVENT_BUFFER_SIZE+512];
759
	static char buffer[UEVENT_BUFFER_SIZE+512];
757
	char *pos;
760
	char *pos;
758
761
759
	size = recv(uevent_netlink_sock, &buffer, sizeof(buffer), 0);
762
	iov.iov_base = buffer;
763
	iov.iov_len = sizeof(buffer);
764
765
	memset(&smsg, 0x00, sizeof(struct msghdr));
766
	smsg.msg_name = &snl;
767
	smsg.msg_namelen = sizeof(struct sockaddr_nl);
768
	smsg.msg_iov = &iov;
769
	smsg.msg_iovlen = 1;
770
771
	size = recvmsg(uevent_netlink_sock, &smsg, 0);
760
	if (size <  0) {
772
	if (size <  0) {
761
		if (errno != EINTR)
773
		if (errno != EINTR)
762
			err("unable to receive kernel netlink message: %s\n", strerror(errno));
774
			err("unable to receive kernel netlink message: %s\n", strerror(errno));
763
		return NULL;
775
		return NULL;
764
	}
776
	}
765
777
778
	if ((snl.nl_groups != 1) || (snl.nl_pid != 0)) {
779
		info("ignored netlink message from invalid group/sender %d/%d\n",
780
		     snl.nl_groups, snl.nl_pid);
781
		return NULL;
782
	}
783
766
	if ((size_t)size > sizeof(buffer)-1)
784
	if ((size_t)size > sizeof(buffer)-1)
767
		size = sizeof(buffer)-1;
785
		size = sizeof(buffer)-1;
768
	buffer[size] = '\0';
786
	buffer[size] = '\0';

Return to bug 266290