From afd349c38ff385deed216829b1e287700fe120da Mon Sep 17 00:00:00 2001 From: Duncaen Date: Sat, 8 Oct 2022 12:12:48 +0200 Subject: [PATCH] opensc: fix use realloc after free detected by gcc>=12 --- ...82ea46562b15221f428860b993e0519c6cbd.patch | 30 +++++++++++++++++++ srcpkgs/opensc/template | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/opensc/patches/0f7082ea46562b15221f428860b993e0519c6cbd.patch diff --git a/srcpkgs/opensc/patches/0f7082ea46562b15221f428860b993e0519c6cbd.patch b/srcpkgs/opensc/patches/0f7082ea46562b15221f428860b993e0519c6cbd.patch new file mode 100644 index 00000000000..d6d9aa1c329 --- /dev/null +++ b/srcpkgs/opensc/patches/0f7082ea46562b15221f428860b993e0519c6cbd.patch @@ -0,0 +1,30 @@ +From 0f7082ea46562b15221f428860b993e0519c6cbd Mon Sep 17 00:00:00 2001 +From: Veronika Hanulikova +Date: Wed, 16 Feb 2022 11:59:27 +0100 +Subject: [PATCH] Fix usage of pointer after realloc + +--- + src/sm/sm-iso.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/sm/sm-iso.c b/src/sm/sm-iso.c +index 5baded77c6..2c3f6bcabd 100644 +--- a/src/sm/sm-iso.c ++++ b/src/sm/sm-iso.c +@@ -181,13 +181,14 @@ static int format_le(size_t le, struct sc_asn1_entry *le_entry, + + static int prefix_buf(u8 prefix, u8 *buf, size_t buflen, u8 **cat) + { +- u8 *p; ++ u8 *p = NULL; ++ int ptr_same = *cat == buf; + + p = realloc(*cat, buflen + 1); + if (!p) + return SC_ERROR_OUT_OF_MEMORY; + +- if (*cat == buf) { ++ if (ptr_same) { + memmove(p + 1, p, buflen); + } else { + /* Flawfinder: ignore */ diff --git a/srcpkgs/opensc/template b/srcpkgs/opensc/template index 8ae62b25023..08bbf2e9ca1 100644 --- a/srcpkgs/opensc/template +++ b/srcpkgs/opensc/template @@ -1,7 +1,7 @@ # Template file for 'opensc' pkgname=opensc version=0.22.0 -revision=1 +revision=2 wrksrc="OpenSC-${version}" build_style=gnu-configure configure_args="--enable-man --enable-sm --enable-static=no --enable-doc