Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/rsh more GCC 10 fixes.



details:   https://anonhg.NetBSD.org/src/rev/2ef52ebe1521
branches:  trunk
changeset: 378445:2ef52ebe1521
user:      mrg <mrg%NetBSD.org@localhost>
date:      Tue Apr 13 06:25:48 2021 +0000

description:
more GCC 10 fixes.

mDNSResponder: another wrong return local address

dhcp: ignore a seemingly impossible stringop overflow

hpacel: avoid maybe uninitialised error that is wrong.

rsh: avoid impossible malloc(0)

udf: cast pointers through (uintptr_t) to fool invalid boundary checks

diffstat:

 external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile |   4 +++-
 external/mpl/dhcp/bin/server/Makefile                  |   3 ++-
 sbin/newfs_udf/udf_create.c                            |  10 +++++-----
 sys/fs/udf/udf_subr.c                                  |  11 ++++++-----
 sys/modules/hpacel/Makefile                            |   4 +++-
 usr.bin/rsh/rsh.c                                      |   6 ++++--
 6 files changed, 23 insertions(+), 15 deletions(-)

diffs (158 lines):

diff -r e6096a763a04 -r 2ef52ebe1521 external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile
--- a/external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile    Tue Apr 13 05:58:45 2021 +0000
+++ b/external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile    Tue Apr 13 06:25:48 2021 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.13 2020/09/06 07:20:26 mrg Exp $
+#      $NetBSD: Makefile,v 1.14 2021/04/13 06:25:48 mrg Exp $
 
 PROG=  mdnsd
 
@@ -20,4 +20,6 @@ MAN=  mdnsd.8
 CWARNFLAGS.clang+=     -Wno-unused-value -Wno-error=address-of-packed-member
 CWARNFLAGS.gcc+=       ${GCC_NO_ADDR_OF_PACKED_MEMBER}
 
+COPTS.DNSCommon.c+=    ${GCC_NO_RETURN_LOCAL_ADDR}
+
 .include <bsd.prog.mk>
diff -r e6096a763a04 -r 2ef52ebe1521 external/mpl/dhcp/bin/server/Makefile
--- a/external/mpl/dhcp/bin/server/Makefile     Tue Apr 13 05:58:45 2021 +0000
+++ b/external/mpl/dhcp/bin/server/Makefile     Tue Apr 13 06:25:48 2021 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.6 2020/06/07 23:29:16 fox Exp $
+# $NetBSD: Makefile,v 1.7 2021/04/13 06:25:48 mrg Exp $
 
 .include <bsd.own.mk>
 
@@ -22,5 +22,6 @@ COPTS.ddns.c +=-Wno-stringop-overflow
 COPTS.mdb6.c +=                ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} == 8:? -Wno-error=format-overflow :}
 COPTS.omapi.c +=       -Wno-stack-protector
 COPTS.confpars.c+=     ${GCC_NO_STRINGOP_TRUNCATION}
+COPTS.mdb6.c+=         ${GCC_NO_STRINGOP_OVERFLOW}
 
 .include <bsd.prog.mk>
diff -r e6096a763a04 -r 2ef52ebe1521 sbin/newfs_udf/udf_create.c
--- a/sbin/newfs_udf/udf_create.c       Tue Apr 13 05:58:45 2021 +0000
+++ b/sbin/newfs_udf/udf_create.c       Tue Apr 13 06:25:48 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_create.c,v 1.28 2020/05/14 08:34:18 msaitoh Exp $ */
+/* $NetBSD: udf_create.c,v 1.29 2021/04/13 06:25:48 mrg Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -30,7 +30,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: udf_create.c,v 1.28 2020/05/14 08:34:18 msaitoh Exp $");
+__RCSID("$NetBSD: udf_create.c,v 1.29 2021/04/13 06:25:48 mrg Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -2025,7 +2025,7 @@ udf_append_meta_mapping_part_to_efe(stru
        uint64_t inf_len, obj_size, logblks_rec;
        uint32_t l_ad, l_ea;
        uint16_t crclen;
-       uint8_t *bpos;
+       uintptr_t bpos;
 
        inf_len     = udf_rw64(efe->inf_len);
        obj_size    = udf_rw64(efe->obj_size);
@@ -2039,8 +2039,8 @@ udf_append_meta_mapping_part_to_efe(stru
        icb->flags = udf_rw16(UDF_ICB_SHORT_ALLOC);
 
        /* append short_ad */
-       bpos = (uint8_t *) efe->data + l_ea + l_ad;
-       memcpy(bpos, mapping, sizeof(struct short_ad));
+       bpos = (uintptr_t)efe->data + l_ea + l_ad;
+       memcpy((void *)bpos, mapping, sizeof(struct short_ad));
 
        l_ad   += sizeof(struct short_ad);
        crclen += sizeof(struct short_ad);
diff -r e6096a763a04 -r 2ef52ebe1521 sys/fs/udf/udf_subr.c
--- a/sys/fs/udf/udf_subr.c     Tue Apr 13 05:58:45 2021 +0000
+++ b/sys/fs/udf/udf_subr.c     Tue Apr 13 06:25:48 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_subr.c,v 1.152 2021/01/11 22:02:28 skrll Exp $ */
+/* $NetBSD: udf_subr.c,v 1.153 2021/04/13 06:25:49 mrg Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -29,7 +29,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.152 2021/01/11 22:02:28 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.153 2021/04/13 06:25:49 mrg Exp $");
 #endif /* not lint */
 
 
@@ -2664,7 +2664,8 @@ udf_update_vat_extattr_from_lvid(struct 
        const char *extstr = "*UDF VAT LVExtension";
        uint64_t    vat_uniqueid;
        uint32_t    offset, a_l;
-       uint8_t    *ea_start, *lvextpos;
+       uint8_t    *ea_start;
+       uintptr_t   lvextpos;
        int         error;
 
        /* get mountpoint and lvinfo */
@@ -2700,14 +2701,14 @@ udf_update_vat_extattr_from_lvid(struct 
         * copy first to avoid panics on some machines (!!)
         */
        DPRINTF(VOLUMES, ("Updating VAT LVExtension attr\n"));
-       lvextpos = implext->data + udf_rw32(implext->iu_l);
+       lvextpos = (uintptr_t)implext->data + udf_rw32(implext->iu_l);
 
        lvext.unique_id_chk   = vat_uniqueid;
        lvext.num_files       = lvinfo->num_files;
        lvext.num_directories = lvinfo->num_directories;
        memmove(lvext.logvol_id, ump->logical_vol->logvol_id, 128);
 
-       memcpy(lvextpos, &lvext, sizeof(lvext));
+       memcpy((void *)lvextpos, &lvext, sizeof(lvext));
 
        return 0;
 }
diff -r e6096a763a04 -r 2ef52ebe1521 sys/modules/hpacel/Makefile
--- a/sys/modules/hpacel/Makefile       Tue Apr 13 05:58:45 2021 +0000
+++ b/sys/modules/hpacel/Makefile       Tue Apr 13 06:25:48 2021 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2019/02/17 04:05:50 rin Exp $
+# $NetBSD: Makefile,v 1.3 2021/04/13 06:25:49 mrg Exp $
 
 .include "../Makefile.inc"
 
@@ -8,4 +8,6 @@ KMOD=   hpacel
 IOCONF=        hpacel.ioconf
 SRCS=  hpacel_acpi.c
 
+COPTS.hpacel_acpi.c+=       ${GCC_NO_MAYBE_UNINITIALIZED}
+
 .include <bsd.kmodule.mk>
diff -r e6096a763a04 -r 2ef52ebe1521 usr.bin/rsh/rsh.c
--- a/usr.bin/rsh/rsh.c Tue Apr 13 05:58:45 2021 +0000
+++ b/usr.bin/rsh/rsh.c Tue Apr 13 06:25:48 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rsh.c,v 1.38 2014/11/26 23:44:21 enami Exp $   */
+/*     $NetBSD: rsh.c,v 1.39 2021/04/13 06:25:49 mrg Exp $     */
 
 /*-
  * Copyright (c) 1983, 1990, 1993, 1994
@@ -39,7 +39,7 @@
 #if 0
 static char sccsid[] = "@(#)rsh.c      8.4 (Berkeley) 4/29/95";
 #else
-__RCSID("$NetBSD: rsh.c,v 1.38 2014/11/26 23:44:21 enami Exp $");
+__RCSID("$NetBSD: rsh.c,v 1.39 2021/04/13 06:25:49 mrg Exp $");
 #endif
 #endif /* not lint */
 
@@ -454,6 +454,8 @@ copyargs(char **argv)
        cc = 0;
        for (ap = argv; *ap; ++ap)
                cc += strlen(*ap) + 1;
+       if (cc == 0)
+               usage();
        if (!(args = malloc((u_int)cc)))
                err(1, "malloc");
        ep = args + cc;



Home | Main Index | Thread Index | Old Index