From adf09e7c381a0d1ee4719ffde36639b3a8841a03 Mon Sep 17 00:00:00 2001 From: Roy Rankin Date: May 25 2020 07:16:58 +0000 Subject: buffer overflow patch --- diff --git a/sdcc-4.0.0-bufover.patch b/sdcc-4.0.0-bufover.patch new file mode 100644 index 0000000..73319bf --- /dev/null +++ b/sdcc-4.0.0-bufover.patch @@ -0,0 +1,16 @@ +diff --git a/src/SDCCast.c b/src/SDCCast.c +index edf6906..1197c45 100644 +--- a/src/SDCCast.c ++++ b/src/SDCCast.c +@@ -6960,9 +6960,9 @@ fixupInlineLabel (symbol * sym) + { + struct dbuf_s dbuf; + +- dbuf_init (&dbuf, 128); ++ dbuf_init (&dbuf, SDCC_SYMNAME_MAX+1); + dbuf_printf (&dbuf, "%s_%d", sym->name, inlineState.count); +- strncpyz (sym->name, dbuf_c_str (&dbuf), SDCC_NAME_MAX); ++ strncpyz (sym->name, dbuf_c_str (&dbuf), SDCC_SYMNAME_MAX); + dbuf_destroy (&dbuf); + } + diff --git a/sdcc.spec b/sdcc.spec index 0339c72..ad38f86 100644 --- a/sdcc.spec +++ b/sdcc.spec @@ -1,6 +1,6 @@ Name: sdcc Version: 4.0.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Small Device C Compiler License: GPLv2+ URL: http://sdcc.sourceforge.net/ @@ -10,6 +10,7 @@ Source2: sdcc-%{version}-lyx-preferences Patch1: sdcc-%{version}-doc.patch Patch2: sdcc-%{version}-python3.patch Patch3: sdcc-%{version}-pic16.patch +Patch4: sdcc-%{version}-bufover.patch BuildRequires: bison, gcc-c++, automake, libtool BuildRequires: boost-devel zlib-devel @@ -50,6 +51,7 @@ find -name '*.{c,h,cc}' -a -perm -a=x -exec chmod -a=x '{}' \; %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 # Disable brp-strip-static-archive for now because it errors trying to # strip foreign binaries. echo '%{__os_install_post}' @@ -113,6 +115,9 @@ popd %changelog +* Mon May 25 2020 Roy Rankin - 4.0.0-3 +- Patch buffer overflow + * Mon May 04 2020 Roy Rankin - 4.0.0-2 - patch for pic16 libs