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'
|
||||
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue