View | Details | Raw Unified | Return to bug 264848
Collapse All | Expand All

(-)b/usr.sbin/mpsutil/mps_cmd.c (-1 / +7 lines)
Lines 730-735 mps_get_iocfacts(int fd) Link Here
730
	MPI2_IOC_FACTS_REQUEST req;
730
	MPI2_IOC_FACTS_REQUEST req;
731
	char msgver[8], sysctlname[128];
731
	char msgver[8], sysctlname[128];
732
	size_t len, factslen;
732
	size_t len, factslen;
733
	unsigned int major, minor;
733
	int error;
734
	int error;
734
735
735
	snprintf(sysctlname, sizeof(sysctlname), "dev.%s.%d.msg_version",
736
	snprintf(sysctlname, sizeof(sysctlname), "dev.%s.%d.msg_version",
Lines 739-745 mps_get_iocfacts(int fd) Link Here
739
	len = sizeof(msgver);
740
	len = sizeof(msgver);
740
	error = sysctlbyname(sysctlname, msgver, &len, NULL, 0);
741
	error = sysctlbyname(sysctlname, msgver, &len, NULL, 0);
741
	if (error == 0) {
742
	if (error == 0) {
742
		if (strncmp(msgver, "2.6", sizeof(msgver)) == 0)
743
		if (sscanf(msgver, "%u.%u", &major, &minor) != 2) {
744
			warnx("Invalid message version '%s'", msgver);
745
			errno = EINVAL;
746
			return (NULL);
747
		}
748
		if (major > 2 || (major == 2 && minor >= 6))
743
			factslen += 4;
749
			factslen += 4;
744
	}
750
	}
745
751

Return to bug 264848