Source-Changes-HG archive

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

[src/netbsd-9]: src/sys/lib/libsa Pull up following revision(s) (requested by...



details:   https://anonhg.NetBSD.org/src/rev/5fb89570f417
branches:  netbsd-9
changeset: 376150:5fb89570f417
user:      martin <martin%NetBSD.org@localhost>
date:      Sat Jun 03 14:35:18 2023 +0000

description:
Pull up following revision(s) (requested by rin in ticket #1636):

        sys/lib/libsa/subr_prf.c: revision 1.30

libsa/printf: Do not fetch long va_arg as long long.

This does real harm iff all of the following conditions are satisfied:
(1) On ILP32 architectures.
(2) Both LIBSA_PRINTF_LONGLONG_SUPPORT and LIBSA_PRINTF_WIDTH_SUPPORT
    compile-time options are enabled.
(3) Width field is used with 'l' modifier.

This is an implicit-fallthrough bug, but unfortunately, GCC 10.4 cannot
find this out somehow...

diffstat:

 sys/lib/libsa/subr_prf.c |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (17 lines):

diff -r 41574ffe96a0 -r 5fb89570f417 sys/lib/libsa/subr_prf.c
--- a/sys/lib/libsa/subr_prf.c  Sat Jun 03 14:24:25 2023 +0000
+++ b/sys/lib/libsa/subr_prf.c  Sat Jun 03 14:35:18 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: subr_prf.c,v 1.28 2019/02/03 11:59:43 mrg Exp $        */
+/*     $NetBSD: subr_prf.c,v 1.28.4.1 2023/06/03 14:35:18 martin Exp $ */
 
 /*-
  * Copyright (c) 1993
@@ -202,6 +202,7 @@ reswitch:
                                        break;
                                ++fmt;
                        }
+                       goto reswitch;
 #endif
                case 'l':
 #ifdef LIBSA_PRINTF_LONGLONG_SUPPORT



Home | Main Index | Thread Index | Old Index