summaryrefslogtreecommitdiff
path: root/Fix-segfault-in-eu-ar-m.patch
blob: 010fdda9a7696b11ed7d0ff30fd4a22badcd5d30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From 68d0321a35c4bf3ccd8c8a74747739658f02e01a Mon Sep 17 00:00:00 2001
From: xiezhipeng <xiezhipeng1@huawei.com>
Date: Wed, 8 Dec 2021 09:47:36 +0800
Subject: [PATCH] fix segfault in eu-ar -m

Fix segfaultineu-ar-m.
---
 src/ar.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/ar.c b/src/ar.c
index 3bcb18f..072ca2e 100644
--- a/src/ar.c
+++ b/src/ar.c
@@ -1155,6 +1155,7 @@ do_oper_insert (int oper, const char *arfname, char **argv, int argc,
 	goto next;
 
       struct armem *newp = alloca (sizeof (struct armem));
+      memset (newp, '\0', sizeof(struct armem));
       newp->old_off = elf_getaroff (subelf);
       newp->size = arhdr->ar_size;
       newp->sec = arhdr->ar_date;
@@ -1247,6 +1248,7 @@ do_oper_insert (int oper, const char *arfname, char **argv, int argc,
 	  if (found[cnt] == NULL)
 	    {
 	      found[cnt] = alloca (sizeof (struct armem));
+              memset (found[cnt], '\0', sizeof(struct armem));
 	      found[cnt]->old_off = -1;
 
 	      remember_long_name (found[cnt], bname, bnamelen);
-- 
2.27.0