opensc: fix use realloc after free detected by gcc>=12
This commit is contained in:
parent
35a762eb1a
commit
afd349c38f
2 changed files with 31 additions and 1 deletions
|
@ -0,0 +1,30 @@
|
||||||
|
From 0f7082ea46562b15221f428860b993e0519c6cbd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Veronika Hanulikova <vhanulik@redhat.com>
|
||||||
|
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 */
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'opensc'
|
# Template file for 'opensc'
|
||||||
pkgname=opensc
|
pkgname=opensc
|
||||||
version=0.22.0
|
version=0.22.0
|
||||||
revision=1
|
revision=2
|
||||||
wrksrc="OpenSC-${version}"
|
wrksrc="OpenSC-${version}"
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--enable-man --enable-sm --enable-static=no --enable-doc
|
configure_args="--enable-man --enable-sm --enable-static=no --enable-doc
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue