blob: 23366b4d078440e12b07cb26c7ebc5749ab3847b [file] [log] [blame]
Andrew Geisslerd5838332022-05-27 11:33:10 -05001From b0a0b7b605aeb8106e7b50d1efeb746f401498cc Mon Sep 17 00:00:00 2001
2From: Gerd Hoffmann <kraxel@redhat.com>
3Date: Thu, 24 Mar 2022 20:04:35 +0800
4Subject: [PATCH] BaseTools: fix gcc12 warning
5
6Sdk/C/LzmaEnc.c: In function ?LzmaEnc_CodeOneMemBlock?:
7Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ?outStream? in ?*p.rc.outStream? [-Werror=dangling-pointer=]
8 2828 | p->rc.outStream = &outStream.vt;
9 | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
10Sdk/C/LzmaEnc.c:2811:28: note: ?outStream? declared here
11 2811 | CLzmaEnc_SeqOutStreamBuf outStream;
12 | ^~~~~~~~~
13Sdk/C/LzmaEnc.c:2811:28: note: ?pp? declared here
14Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ?outStream? in ?*(CLzmaEnc *)pp.rc.outStream? [-Werror=dangling-pointer=]
15 2828 | p->rc.outStream = &outStream.vt;
16 | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
17Sdk/C/LzmaEnc.c:2811:28: note: ?outStream? declared here
18 2811 | CLzmaEnc_SeqOutStreamBuf outStream;
19 | ^~~~~~~~~
20Sdk/C/LzmaEnc.c:2811:28: note: ?pp? declared here
21cc1: all warnings being treated as errors
22
23Upstream-Status: Backport [https://github.com/tianocore/edk2/commit/85021f8cf22d1bd4114803c6c610dea5ef0059f1]
24Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
25Reviewed-by: Bob Feng <bob.c.feng@intel.com>
26---
27 BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c | 3 ++-
28 1 file changed, 2 insertions(+), 1 deletion(-)
29
30diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
31index 4e9b499f8d..4b9f5fa692 100644
32--- a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
33+++ b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
34@@ -2825,12 +2825,13 @@ SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, BoolInt reInit,
35
36 nowPos64 = p->nowPos64;
37 RangeEnc_Init(&p->rc);
38- p->rc.outStream = &outStream.vt;
39
40 if (desiredPackSize == 0)
41 return SZ_ERROR_OUTPUT_EOF;
42
43+ p->rc.outStream = &outStream.vt;
44 res = LzmaEnc_CodeOneBlock(p, desiredPackSize, *unpackSize);
45+ p->rc.outStream = NULL;
46
47 *unpackSize = (UInt32)(p->nowPos64 - nowPos64);
48 *destLen -= outStream.rem;
49--
502.36.1
51