Andrew Geissler | d583833 | 2022-05-27 11:33:10 -0500 | [diff] [blame^] | 1 | From b0a0b7b605aeb8106e7b50d1efeb746f401498cc Mon Sep 17 00:00:00 2001 |
| 2 | From: Gerd Hoffmann <kraxel@redhat.com> |
| 3 | Date: Thu, 24 Mar 2022 20:04:35 +0800 |
| 4 | Subject: [PATCH] BaseTools: fix gcc12 warning |
| 5 | |
| 6 | Sdk/C/LzmaEnc.c: In function ?LzmaEnc_CodeOneMemBlock?: |
| 7 | Sdk/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 | | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ |
| 10 | Sdk/C/LzmaEnc.c:2811:28: note: ?outStream? declared here |
| 11 | 2811 | CLzmaEnc_SeqOutStreamBuf outStream; |
| 12 | | ^~~~~~~~~ |
| 13 | Sdk/C/LzmaEnc.c:2811:28: note: ?pp? declared here |
| 14 | Sdk/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 | | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ |
| 17 | Sdk/C/LzmaEnc.c:2811:28: note: ?outStream? declared here |
| 18 | 2811 | CLzmaEnc_SeqOutStreamBuf outStream; |
| 19 | | ^~~~~~~~~ |
| 20 | Sdk/C/LzmaEnc.c:2811:28: note: ?pp? declared here |
| 21 | cc1: all warnings being treated as errors |
| 22 | |
| 23 | Upstream-Status: Backport [https://github.com/tianocore/edk2/commit/85021f8cf22d1bd4114803c6c610dea5ef0059f1] |
| 24 | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
| 25 | Reviewed-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 | |
| 30 | diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c |
| 31 | index 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 | -- |
| 50 | 2.36.1 |
| 51 | |