Module Name:    src
Committed By:   rin
Date:           Mon May 29 03:56:52 UTC 2023

Modified Files:
        src/sys/lib/libsa: subr_prf.c

Log Message:
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...

XXX
Pull up to netbsd-10 and netbsd-9. netbsd-8 is not affected.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/lib/libsa/subr_prf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/lib/libsa/subr_prf.c
diff -u src/sys/lib/libsa/subr_prf.c:1.29 src/sys/lib/libsa/subr_prf.c:1.30
--- src/sys/lib/libsa/subr_prf.c:1.29	Sat Jun  6 15:45:47 2020
+++ src/sys/lib/libsa/subr_prf.c	Mon May 29 03:56:52 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_prf.c,v 1.29 2020/06/06 15:45:47 thorpej Exp $	*/
+/*	$NetBSD: subr_prf.c,v 1.30 2023/05/29 03:56:52 rin Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -209,6 +209,7 @@ reswitch:
 					break;
 				++fmt;
 			}
+			goto reswitch;
 #endif
 		case 'l':
 #ifdef LIBSA_PRINTF_LONGLONG_SUPPORT

Reply via email to