Avoid GNU printf extension to use 'L' length modifier with a int
authorjsg <jsg@openbsd.org>
Wed, 22 Dec 2021 23:05:52 +0000 (23:05 +0000)
committerjsg <jsg@openbsd.org>
Wed, 22 Dec 2021 23:05:52 +0000 (23:05 +0000)
conversion specifier to mean 'll'.  Found by an ok deraadt@

gnu/usr.bin/binutils-2.17/binutils/strings.c
gnu/usr.bin/binutils/binutils/strings.c

index ede1bd5..dbff317 100644 (file)
@@ -614,7 +614,7 @@ print_strings (const char *filename, FILE *stream, file_off address,
          case 10:
 #if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
            if (sizeof (start) > sizeof (long))
-             printf ("%7Ld ", (unsigned long long) start);
+             printf ("%7lld ", (unsigned long long) start);
            else
 #else
 # if !BFD_HOST_64BIT_LONG
@@ -629,7 +629,7 @@ print_strings (const char *filename, FILE *stream, file_off address,
          case 16:
 #if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
            if (sizeof (start) > sizeof (long))
-             printf ("%7Lx ", (unsigned long long) start);
+             printf ("%7llx ", (unsigned long long) start);
            else
 #else
 # if !BFD_HOST_64BIT_LONG
index 18b41dc..fccbe04 100644 (file)
@@ -540,7 +540,7 @@ print_strings (const char *filename, FILE *stream, file_off address,
          case 10:
 #if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
            if (sizeof (start) > sizeof (long))
-             printf ("%7Ld ", (unsigned long long) start);
+             printf ("%7lld ", (unsigned long long) start);
            else
 #else
 # if !BFD_HOST_64BIT_LONG
@@ -555,7 +555,7 @@ print_strings (const char *filename, FILE *stream, file_off address,
          case 16:
 #if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
            if (sizeof (start) > sizeof (long))
-             printf ("%7Lx ", (unsigned long long) start);
+             printf ("%7llx ", (unsigned long long) start);
            else
 #else
 # if !BFD_HOST_64BIT_LONG