58 lines
2.2 KiB
Diff
58 lines
2.2 KiB
Diff
|
From 471f7e4e72feea16f06d806c47b05719c3d77d8f Mon Sep 17 00:00:00 2001
|
||
|
From: Khem Raj <raj.khem@gmail.com>
|
||
|
Date: Tue, 25 Apr 2017 15:57:33 -0700
|
||
|
Subject: [PATCH 2/2] Fix printf overflow warnings
|
||
|
|
||
|
Fixes
|
||
|
|
||
|
../../elfutils-0.148/src/ar.c:865:49: error: '__builtin___snprintf_chk' output truncated before the last format character [-Werror=format-truncation=]
|
||
|
snprintf (tmpbuf, sizeof (tmpbuf), "/%-*ld",
|
||
|
^
|
||
|
In file included from /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/elfutils/0.148-r11/recipe-sysroot/usr/include/stdio.h:889:0,
|
||
|
from /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/elfutils/0.148-r11/recipe-sysroot/usr/include/argp.h:23,
|
||
|
from ../../elfutils-0.148/src/ar.c:30:
|
||
|
/mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/elfutils/0.148-r11/recipe-sysroot/usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' output 18 b
|
||
|
ytes into a destination of size 17
|
||
|
|
||
|
Upstream-Status: Pending
|
||
|
|
||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
---
|
||
|
src/ar.c | 6 +++---
|
||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/ar.c b/src/ar.c
|
||
|
index 8e2abbe..0bf5051 100644
|
||
|
--- a/src/ar.c
|
||
|
+++ b/src/ar.c
|
||
|
@@ -853,7 +853,7 @@ write_member (struct armem *memb, off_t *startp, off_t *lenp, Elf *elf,
|
||
|
off_t end_off, int newfd)
|
||
|
{
|
||
|
struct ar_hdr arhdr;
|
||
|
- char tmpbuf[sizeof (arhdr.ar_name) + 1];
|
||
|
+ char tmpbuf[sizeof (arhdr.ar_name) + 2];
|
||
|
|
||
|
bool changed_header = memb->long_name_off != -1;
|
||
|
if (changed_header)
|
||
|
@@ -1454,7 +1454,7 @@ do_oper_insert (int oper, const char *arfname, char **argv, int argc,
|
||
|
|
||
|
/* Create the header. */
|
||
|
struct ar_hdr arhdr;
|
||
|
- char tmpbuf[sizeof (arhdr.ar_name) + 1];
|
||
|
+ char tmpbuf[sizeof (arhdr.ar_name) + 2];
|
||
|
if (all->long_name_off == -1)
|
||
|
{
|
||
|
size_t namelen = strlen (all->name);
|
||
|
@@ -1464,7 +1464,7 @@ do_oper_insert (int oper, const char *arfname, char **argv, int argc,
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
- snprintf (tmpbuf, sizeof (arhdr.ar_name) + 1, "/%-*ld",
|
||
|
+ snprintf (tmpbuf, sizeof (tmpbuf), "/%-*ld",
|
||
|
(int) sizeof (arhdr.ar_name), all->long_name_off);
|
||
|
memcpy (arhdr.ar_name, tmpbuf, sizeof (arhdr.ar_name));
|
||
|
}
|
||
|
--
|
||
|
2.12.2
|
||
|
|