Index: sbin/sysctl/Makefile =================================================================== --- sbin/sysctl/Makefile +++ sbin/sysctl/Makefile @@ -4,7 +4,6 @@ PACKAGE=runtime CONFS= sysctl.conf PROG= sysctl -WARNS?= 3 MAN= sysctl.8 .include Index: sbin/sysctl/sysctl.c =================================================================== --- sbin/sysctl/sysctl.c +++ sbin/sysctl/sysctl.c @@ -735,7 +735,7 @@ } efihdr = p; efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf; - map = (struct efi_md *)((uint8_t *)efihdr + efisz); + map = (void *)((uint8_t *)efihdr + efisz); if (efihdr->descriptor_size == 0) return (0); @@ -904,7 +904,7 @@ err(1, "sysctl fmt %d %zu %d", i, j, errno); if (kind) - *kind = *(u_int *)buf; + memcpy(kind, buf, sizeof(*kind)); if (fmt) strcpy(fmt, (char *)(buf + sizeof(u_int))); @@ -921,7 +921,8 @@ static int show_var(int *oid, int nlen) { - u_char buf[BUFSIZ], *val, *oval, *p; + u_char buf[BUFSIZ], *p; + void *val, *oval; char name[BUFSIZ], fmt[BUFSIZ]; const char *sep, *sep1, *prntype; int qoid[CTL_MAXNAME+2]; @@ -936,7 +937,8 @@ int prec; /* Silence GCC. */ - umv = mv = intlen = 0; + umv = mv = 0; + func = NULL; bzero(buf, BUFSIZ); bzero(fmt, BUFSIZ); @@ -1043,8 +1045,8 @@ free(oval); return (0); } - val[len] = '\0'; p = val; + p[len] = '\0'; sign = ctl_sign[ctltype]; intlen = ctl_size[ctltype]; @@ -1076,33 +1078,33 @@ switch (kind & CTLTYPE) { case CTLTYPE_INT: case CTLTYPE_UINT: - umv = *(u_int *)p; - mv = *(int *)p; + umv = *(u_int *)val; + mv = *(int *)val; break; case CTLTYPE_LONG: case CTLTYPE_ULONG: - umv = *(u_long *)p; - mv = *(long *)p; + umv = *(u_long *)val; + mv = *(long *)val; break; case CTLTYPE_S8: case CTLTYPE_U8: - umv = *(uint8_t *)p; - mv = *(int8_t *)p; + umv = *(uint8_t *)val; + mv = *(int8_t *)val; break; case CTLTYPE_S16: case CTLTYPE_U16: - umv = *(uint16_t *)p; - mv = *(int16_t *)p; + umv = *(uint16_t *)val; + mv = *(int16_t *)val; break; case CTLTYPE_S32: case CTLTYPE_U32: - umv = *(uint32_t *)p; - mv = *(int32_t *)p; + umv = *(uint32_t *)val; + mv = *(int32_t *)val; break; case CTLTYPE_S64: case CTLTYPE_U64: - umv = *(uint64_t *)p; - mv = *(int64_t *)p; + umv = *(uint64_t *)val; + mv = *(int64_t *)val; break; } fputs(sep1, stdout); @@ -1121,7 +1123,7 @@ if (fmt[2] != '\0') prec = fmt[2] - '0'; base = 1.0; - for (int i = 0; i < prec; i++) + for (i = 0; i < prec; i++) base *= 10.0; printf("%.*fC", prec, (float)mv / base - 273.15); @@ -1153,7 +1155,7 @@ if (!nflag) printf("%s%s", name, sep); printf("Format:%s Length:%zu Dump:0x", fmt, len); - while (len-- && (xflag || p < val + 16)) + while (len-- && (xflag || p < (u_char *)val + 16)) printf("%02x", *p++); if (!xflag && len > 16) printf("..."); Index: sys/sys/efi.h =================================================================== --- sys/sys/efi.h +++ sys/sys/efi.h @@ -93,7 +93,7 @@ }; #define efi_next_descriptor(ptr, size) \ - ((struct efi_md *)(((uint8_t *)(ptr)) + (size))) + ((struct efi_md *)(void *)(((uint8_t *)(ptr)) + (size))) struct efi_tm { uint16_t tm_year; /* 1998 - 20XX */