Hello community,
here is the log from the commit of package perl-Convert-UUlib for
openSUSE:Factory checked in at 2018-09-26 14:24:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Convert-UUlib (Old)
and /work/SRC/openSUSE:Factory/.perl-Convert-UUlib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Convert-UUlib"
Wed Sep 26 14:24:39 2018 rev:27 rq:638335 version:1.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Convert-UUlib/perl-Convert-UUlib.changes
2014-10-09 12:52:47.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Convert-UUlib.new/perl-Convert-UUlib.changes
2018-09-26 14:24:58.249774034 +0200
@@ -1,0 +2,12 @@
+Tue Sep 25 15:50:19 UTC 2018 - [email protected]
+
+- update to 1.4
+ - fix a heap overflow (testcase by Krzysztof Wojtaś).
+ - on systems that support it (posix + mmap + map_anonymous),
+ allocate all dynamic areas via mmap and put four guard
+ pages around them, to catch similar heap overflows
+ safely in the future.
+ - find a safer way to pass in CC/CFLAGS to uulib.
+ - added stability canary support.
+
+-------------------------------------------------------------------
Old:
----
Convert-UUlib-1.4.tar.gz
New:
----
Convert-UUlib-1.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Convert-UUlib.spec ++++++
--- /var/tmp/diff_new_pack.JFvH33/_old 2018-09-26 14:24:58.765773214 +0200
+++ /var/tmp/diff_new_pack.JFvH33/_new 2018-09-26 14:24:58.769773208 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Convert-UUlib
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,26 +16,27 @@
#
+%define cpan_name Convert-UUlib
Name: perl-Convert-UUlib
-Version: 1.4
+Version: 1.5
Release: 0
Summary: Perl interface to the uulib library
-License: GPL-1.0+ or Artistic-1.0
+License: GPL-1.0-or-later OR Artistic-1.0
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/~mlehmann/Convert-UUlib-1.4/UUlib.pm
-Source:
http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/Convert-UUlib-%version.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%{perl_requires}
+Url: https://metacpan.org/pod/Convert::UUlib
+Source:
https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/%{cpan_name}-%{version}.tar.gz
BuildRequires: perl
BuildRequires: perl-macros
+BuildRequires: perl(Canary::Stability)
Provides: p_conulb
Obsoletes: p_conulb
+%{perl_requires}
%description
A Perl interface to the uulib library
%prep
-%setup -n Convert-UUlib-%{version} -q
+%setup -q -n %{cpan_name}-%{version}
# ---------------------------------------------------------------------------
%build
@@ -43,20 +44,20 @@
make %{?_smp_mflags}
%check
-make test
+make %{?_smp_mflags} test
# ---------------------------------------------------------------------------
%install
-make DESTDIR=$RPM_BUILD_ROOT install_vendor
+make DESTDIR=%{buildroot} install_vendor
%perl_process_packlist
%files
-%defattr(-,root,root)
%dir %{perl_vendorarch}/Convert
%{perl_vendorarch}/Convert/UUlib.pm
%dir %{perl_vendorarch}/auto/Convert
%{perl_vendorarch}/auto/Convert/UUlib
-%doc /usr/share/man/man3/Convert::UUlib.3pm.gz
-%doc COPYING COPYING.Artistic COPYING.GNU Changes MANIFEST README
example-decoder doc
+%{_mandir}/man3/Convert::UUlib.3pm.gz
+%license COPYING COPYING.Artistic COPYING.GNU
+%doc Changes MANIFEST README example-decoder doc
%changelog
++++++ Convert-UUlib-1.4.tar.gz -> Convert-UUlib-1.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/Changes
new/Convert-UUlib-1.5/Changes
--- old/Convert-UUlib-1.4/Changes 2011-05-29 17:17:25.000000000 +0200
+++ new/Convert-UUlib-1.5/Changes 2015-07-11 03:56:11.000000000 +0200
@@ -1,9 +1,18 @@
Revision history for Perl extension Convert::UUlib.
+1.5 Sat Jul 11 03:56:06 CEST 2015
+ - fix a heap overflow (testcase by Krzysztof Wojtaś).
+ - on systems that support it (posix + mmap + map_anonymous),
+ allocate all dynamic areas via mmap and put four guard
+ pages around them, to catch similar heap overflows
+ safely in the future.
+ - find a safer way to pass in CC/CFLAGS to uulib.
+ - added stability canary support.
+
1.4 Sun May 29 17:17:01 CEST 2011
- avoid a classical buffer overflow in case a progress
message is too long.
- - this release adds depdencies for snprintf/vsnprintf.
+ - this release adds dependencies for snprintf/vsnprintf.
- some uuencode encoders do not generate a final "space" line
before the "end" marker, so do not rely on the line to be there.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/MANIFEST
new/Convert-UUlib-1.5/MANIFEST
--- old/Convert-UUlib-1.4/MANIFEST 2011-05-29 17:22:57.000000000 +0200
+++ new/Convert-UUlib-1.5/MANIFEST 2015-07-11 03:57:07.000000000 +0200
@@ -12,6 +12,7 @@
t/cb.t
doc/library.pdf
doc/HISTORY
+uulib/safealloc.c
uulib/Makefile.in
uulib/acconfig.h
uulib/aclocal.m4
@@ -34,4 +35,5 @@
uulib/uustring.h
uulib/uuutil.c
-META.json Module meta-data (added by MakeMaker)
+META.yml Module YAML meta-data (added by
MakeMaker)
+META.json Module JSON meta-data (added by
MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/META.json
new/Convert-UUlib-1.5/META.json
--- old/Convert-UUlib-1.4/META.json 2011-05-29 17:22:57.000000000 +0200
+++ new/Convert-UUlib-1.5/META.json 2015-07-11 03:57:07.000000000 +0200
@@ -1,26 +1,40 @@
{
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 1,
+ "generated_by" : "ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter
version 2.150001",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Convert-UUlib",
"no_index" : {
"directory" : [
"t",
"inc"
]
},
- "meta-spec" : {
- "version" : 1.4,
- "url" : "http://module-build.sourceforge.net/META-spec-v1.4.html"
- },
- "generated_by" : "ExtUtils::MakeMaker::JSONMETA version 7.000",
- "distribution_type" : "module",
- "version" : "1.4",
- "name" : "Convert-UUlib",
- "author" : [],
- "license" : "unknown",
- "build_requires" : {
- "ExtUtils::MakeMaker" : 0
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "Canary::Stability" : "0",
+ "ExtUtils::MakeMaker" : "6.52"
+ }
+ },
+ "runtime" : {
+ "requires" : {}
+ }
},
- "requires" : {},
- "abstract" : null,
- "configure_requires" : {
- "ExtUtils::MakeMaker" : 0
- }
+ "release_status" : "stable",
+ "version" : 1.5
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/META.yml
new/Convert-UUlib-1.5/META.yml
--- old/Convert-UUlib-1.4/META.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/Convert-UUlib-1.5/META.yml 2015-07-11 03:57:07.000000000 +0200
@@ -0,0 +1,22 @@
+---
+abstract: unknown
+author:
+ - unknown
+build_requires:
+ ExtUtils::MakeMaker: '0'
+configure_requires:
+ Canary::Stability: '0'
+ ExtUtils::MakeMaker: '6.52'
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter
version 2.150001'
+license: unknown
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: '1.4'
+name: Convert-UUlib
+no_index:
+ directory:
+ - t
+ - inc
+requires: {}
+version: 1.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/Makefile.PL
new/Convert-UUlib-1.5/Makefile.PL
--- old/Convert-UUlib-1.4/Makefile.PL 2009-07-10 22:44:52.000000000 +0200
+++ new/Convert-UUlib-1.5/Makefile.PL 2015-07-11 03:56:33.000000000 +0200
@@ -1,10 +1,12 @@
use ExtUtils::MakeMaker;
+use Canary::Stability Convert::UUlib => 1;
+
sub MY::postamble {
my $postamble =<<'END';
uulib/Makefile:
- cd uulib && CC="$(CC)" CFLAGS="$(OPTIMIZE) $(CFLAGS) $(CCCDLFLAGS)"
./configure
+ cd uulib && ./configure --with-cc='$(CC)' --with-cflags='$(OPTIMIZE)
$(CFLAGS) $(CCCDLFLAGS)'
clean::
-cd uulib && make distclean
@@ -29,4 +31,8 @@
'LIBS' => [''],
'DEFINE' => '',
'INC' => '',
+ CONFIGURE_REQUIRES => {
+ "ExtUtils::MakeMaker" => 6.52,
+ "Canary::Stability" => 0,
+ },
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/UUlib.pm
new/Convert-UUlib-1.5/UUlib.pm
--- old/Convert-UUlib-1.4/UUlib.pm 2011-05-29 17:19:08.000000000 +0200
+++ new/Convert-UUlib-1.5/UUlib.pm 2015-07-10 03:11:45.000000000 +0200
@@ -8,7 +8,7 @@
require Exporter;
require DynaLoader;
-our $VERSION = '1.4';
+our $VERSION = 1.5;
our @ISA = qw(Exporter DynaLoader);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/UUlib.xs
new/Convert-UUlib-1.5/UUlib.xs
--- old/Convert-UUlib-1.4/UUlib.xs 2009-08-24 07:18:26.000000000 +0200
+++ new/Convert-UUlib-1.5/UUlib.xs 2015-07-10 03:15:48.000000000 +0200
@@ -101,7 +101,7 @@
uu_msg_callback (void *cb, char *msg, int level)
{
dSP;
-
+
ENTER; SAVETMPS; PUSHMARK (SP); EXTEND (SP, 2);
PUSHs (sv_2mortal (newSVpv (msg, 0)));
@@ -117,7 +117,7 @@
dSP;
int count;
int retval;
-
+
ENTER; SAVETMPS; PUSHMARK (SP); EXTEND (SP, 6);
PUSHs (sv_2mortal (newSViv (uup->action)));
@@ -145,7 +145,7 @@
dSP;
int count;
static char *str;
-
+
ENTER; SAVETMPS; PUSHMARK (SP); EXTEND (SP, 1);
PUSHs (sv_2mortal (newSVpv (fname, 0)));
@@ -169,7 +169,7 @@
int count;
int retval;
SV *xfname = newSVpv ("", 0);
-
+
ENTER; SAVETMPS; PUSHMARK (SP); EXTEND (SP, 3);
PUSHs (sv_2mortal (newSVpv (id, 0)));
@@ -194,7 +194,7 @@
{
dSP;
int count;
-
+
ENTER; SAVETMPS; PUSHMARK (SP); EXTEND (SP, 2);
PUSHs (sv_2mortal(newSVpv(subject, 0)));
@@ -229,7 +229,7 @@
dSP;
int count;
int retval;
-
+
ENTER; SAVETMPS; PUSHMARK(SP); EXTEND(SP,1);
PUSHs(sv_2mortal(newSVpv(info,0)));
@@ -277,7 +277,7 @@
if (!uu_initialized)
{
int retval;
-
+
if ((retval = UUInitialize ()) != UURET_OK)
croak ("unable to initialize uudeview library (%s)", UUstrerror
(retval));
@@ -287,30 +287,30 @@
void
UUCleanUp ()
CODE:
- if (uu_initialized)
+ if (uu_initialized)
UUCleanUp ();
- uu_initialized = 0;
+ uu_initialized = 0;
SV *
UUGetOption (opt)
int opt
CODE:
- {
- if (opt == UUOPT_PROGRESS)
- croak ("GetOption(UUOPT_PROGRESS) is not yet implemented");
- else if (uu_opt_isstring (opt))
- {
- char cval[8192];
-
- UUGetOption (opt, 0, cval, sizeof cval);
- RETVAL = newSVpv (cval, 0);
- }
- else
- {
- RETVAL = newSViv (UUGetOption (opt, 0, 0, 0));
- }
- }
+{
+ if (opt == UUOPT_PROGRESS)
+ croak ("GetOption(UUOPT_PROGRESS) is not yet implemented");
+ else if (uu_opt_isstring (opt))
+ {
+ char cval[8192];
+
+ UUGetOption (opt, 0, cval, sizeof cval);
+ RETVAL = newSVpv (cval, 0);
+ }
+ else
+ {
+ RETVAL = newSViv (UUGetOption (opt, 0, 0, 0));
+ }
+}
OUTPUT:
RETVAL
@@ -319,14 +319,14 @@
int opt
SV * val
CODE:
- {
- STRLEN dc;
+{
+ STRLEN dc;
- if (uu_opt_isstring (opt))
- RETVAL = UUSetOption (opt, 0, SvPV (val, dc));
- else
- RETVAL = UUSetOption (opt, SvIV (val), (void *)0);
- }
+ if (uu_opt_isstring (opt))
+ RETVAL = UUSetOption (opt, 0, SvPV (val, dc));
+ else
+ RETVAL = UUSetOption (opt, SvIV (val), (void *)0);
+}
OUTPUT:
RETVAL
@@ -376,13 +376,13 @@
int delflag
int partno
PPCODE:
- {
- int count;
-
- XPUSHs (sv_2mortal (newSViv (UULoadFileWithPartNo (fname, id,
delflag, partno, &count))));
- if (GIMME_V == G_ARRAY)
- XPUSHs (sv_2mortal (newSViv (count)));
- }
+{
+ int count;
+
+ XPUSHs (sv_2mortal (newSViv (UULoadFileWithPartNo (fname, id, delflag,
partno, &count))));
+ if (GIMME_V == G_ARRAY)
+ XPUSHs (sv_2mortal (newSViv (count)));
+}
int
UUSmerge (pass)
@@ -598,35 +598,35 @@
parts (li)
uulist *li
PPCODE:
- {
- struct _uufile *p = li->thisfile;
+{
+ struct _uufile *p = li->thisfile;
- while (p)
- {
- HV *pi = newHV ();
-
- hv_store (pi, "partno" , 6, newSViv (p->partno) ,
0);
-
- if (p->filename)
- hv_store (pi, "filename", 8, newSVpv (p->filename, 0)
, 0);
- if(p->subfname)
- hv_store (pi, "subfname", 8, newSVpv (p->subfname, 0)
, 0);
- if(p->mimeid)
- hv_store (pi, "mimeid" , 6, newSVpv (p->mimeid , 0)
, 0);
- if(p->mimetype)
- hv_store (pi, "mimetype", 8, newSVpv (p->mimetype, 0)
, 0);
- if (p->data->subject)
- hv_store (pi, "subject" , 7, newSVpv
(p->data->subject,0), 0);
- if (p->data->origin)
- hv_store (pi, "origin" , 6, newSVpv (p->data->origin
,0), 0);
- if (p->data->sfname)
- hv_store (pi, "sfname" , 6, newSVpv (p->data->sfname
,0), 0);
-
- XPUSHs (sv_2mortal (newRV_noinc ((SV *)pi)));
-
- p = p->NEXT;
- }
- }
+ while (p)
+ {
+ HV *pi = newHV ();
+
+ hv_store (pi, "partno" , 6, newSViv (p->partno) , 0);
+
+ if (p->filename)
+ hv_store (pi, "filename", 8, newSVpv (p->filename, 0) , 0);
+ if(p->subfname)
+ hv_store (pi, "subfname", 8, newSVpv (p->subfname, 0) , 0);
+ if(p->mimeid)
+ hv_store (pi, "mimeid" , 6, newSVpv (p->mimeid , 0) , 0);
+ if(p->mimetype)
+ hv_store (pi, "mimetype", 8, newSVpv (p->mimetype, 0) , 0);
+ if (p->data->subject)
+ hv_store (pi, "subject" , 7, newSVpv (p->data->subject,0), 0);
+ if (p->data->origin)
+ hv_store (pi, "origin" , 6, newSVpv (p->data->origin ,0), 0);
+ if (p->data->sfname)
+ hv_store (pi, "sfname" , 6, newSVpv (p->data->sfname ,0), 0);
+
+ XPUSHs (sv_2mortal (newRV_noinc ((SV *)pi)));
+
+ p = p->NEXT;
+ }
+}
BOOT:
uu_msg_sv = newSVsv (&PL_sv_undef);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/uulib/Makefile.in
new/Convert-UUlib-1.5/uulib/Makefile.in
--- old/Convert-UUlib-1.4/uulib/Makefile.in 2005-03-03 17:57:31.000000000
+0100
+++ new/Convert-UUlib-1.5/uulib/Makefile.in 2015-07-10 02:54:57.000000000
+0200
@@ -76,7 +76,7 @@
$(CC) -c $(CFLAGS) $(VDEF) $<
uuencode.o: uuencode.c uudeview.h uuint.h uustring.h fptools.h config.h
-uulib.o: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
+uulib.o: uulib.c uudeview.h uuint.h uustring.h fptools.h config.h
safealloc.c
uunconc.o: uunconc.c uudeview.h uuint.h uustring.h fptools.h config.h
uucheck.o: uucheck.c uudeview.h uuint.h uustring.h fptools.h config.h
uuutil.o: uuutil.c uudeview.h uuint.h uustring.h fptools.h config.h
@@ -86,3 +86,4 @@
uustring.h: uustring.c
awk -f uustring.awk < uustring.c > uustring.h
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/uulib/safealloc.c
new/Convert-UUlib-1.5/uulib/safealloc.c
--- old/Convert-UUlib-1.4/uulib/safealloc.c 1970-01-01 01:00:00.000000000
+0100
+++ new/Convert-UUlib-1.5/uulib/safealloc.c 2015-07-10 03:09:38.000000000
+0200
@@ -0,0 +1,78 @@
+/* enable the POSIX prototypes of mmap/munmap on Solaris */
+#ifdef __sun
+# if __STDC_VERSION__ >= 199901L
+# define _XOPEN_SOURCE 600
+# else
+# define _XOPEN_SOURCE 500
+# endif
+#endif
+
+#ifndef _WIN32
+ #include <unistd.h>
+#endif
+
+#if !defined USE_MMAP \
+ && _POSIX_MAPPED_FILES > 0 \
+ && (_POSIX_VERSION >= 200809L || _POSIX_MEMORY_PROTECTION > 0)
+ #include <sys/mman.h>
+ #if !defined MAP_ANONYMOUS && defined MAP_ANON
+ #define MAP_ANONYMOUS MAP_ANON
+ #endif
+ #ifdef MAP_ANONYMOUS
+ #include <limits.h>
+ #if PAGESIZE <= 0
+ static long pagesize;
+ #define PAGESIZE pagesize ? pagesize : (pagesize = sysconf
(_SC_PAGESIZE))
+ #endif
+ #define USE_MMAP 1
+ #endif
+#endif
+
+/* we assume natural alignment, uulib only uses ints and chars */
+#define ALIGN 1
+#define GUARDS 4
+
+static void *
+safe_alloc (size_t size)
+{
+#if USE_MMAP
+
+ size_t rounded = (size + ALIGN - 1) & ~(ALIGN - 1);
+ size_t page = PAGESIZE;
+ size_t page_rounded = (rounded + page - 1) & ~(page - 1);
+ void *base = mmap (0, page_rounded + page * GUARDS * 2,
PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
+
+ if (base == (void *)-1)
+ return 0;
+
+ mprotect (base, page * GUARDS, PROT_NONE); /* beginning */
+ mprotect (page_rounded + page * GUARDS + (char *)base, page * GUARDS,
PROT_NONE); /* end */
+
+ return page * GUARDS + (page_rounded - rounded) + (char *)base;
+
+#else
+ return malloc (size);
+#endif
+}
+
+static void
+safe_free (void *mem, size_t size)
+{
+#if USE_MMAP
+
+ size_t rounded = (size + ALIGN - 1) & ~(ALIGN - 1);
+ size_t page = PAGESIZE;
+ size_t page_rounded = (rounded + page - 1) & ~(page - 1);
+
+ if (!mem)
+ return;
+
+ mem = (char *)mem - page * GUARDS - (page_rounded - rounded);
+
+ munmap (mem, page_rounded + page * GUARDS * 2);
+
+#else
+ free (size);
+#endif
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/uulib/uulib.c
new/Convert-UUlib-1.5/uulib/uulib.c
--- old/Convert-UUlib-1.4/uulib/uulib.c 2011-05-29 17:14:37.000000000 +0200
+++ new/Convert-UUlib-1.5/uulib/uulib.c 2015-07-10 03:09:57.000000000 +0200
@@ -81,6 +81,8 @@
#include <fptools.h>
#include <uustring.h>
+#include "safealloc.c"
+
char * uulib_id = "$Id$";
#ifdef SYSTEM_WINDLL
@@ -255,8 +257,8 @@
{ &uuscan_pvvalue, 300 }, /* from uuscan.c:ParseValue() */
{ &uuscan_phtext, 300 }, /* from uuscan.c:ParseHeader() */
{ &uuscan_sdline, 1025 }, /* from uuscan.c:ScanData(), +1 for
UURepairData */
- { &uuscan_sdbhds1, 300 },
- { &uuscan_sdbhds2, 300 },
+ { &uuscan_sdbhds1, 1300 }, /* 1024 for line in UUScan + 256 potential
overhead UUDecodeLine */
+ { &uuscan_sdbhds2, 1300 }, /* 1024 for line in UUScan + 256 potential
overhead UUDecodeLine */
{ &uuscan_spline, 1024 }, /* from uuscan.c:ScanPart() */
{ &uuutil_bhwtmp, 300 }, /* from uuutil.c:UUbhwrite() */
{ NULL, 0 }
@@ -396,13 +398,13 @@
*(aiter->ptr) = NULL;
for (aiter=toallocate; aiter->ptr; aiter++) {
- if ((*(aiter->ptr) = (char *) malloc (aiter->size)) == NULL) {
+ if ((*(aiter->ptr) = (char *) safe_alloc (aiter->size)) == NULL) {
/*
* oops. we may not print a message here, because we need these
* areas (uulib_msgstring) in UUMessage()
*/
for (aiter=toallocate; aiter->ptr; aiter++) {
- _FP_free (*(aiter->ptr));
+ safe_free (*(aiter->ptr), aiter->size);
}
return UURET_NOMEM;
}
@@ -1359,7 +1361,7 @@
*/
for (aiter=toallocate; aiter->ptr; aiter++) {
- _FP_free (*(aiter->ptr));
+ safe_free (*(aiter->ptr), aiter->size);
*(aiter->ptr) = NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Convert-UUlib-1.4/uulib/uuscan.c
new/Convert-UUlib-1.5/uulib/uuscan.c
--- old/Convert-UUlib-1.4/uulib/uuscan.c 2011-05-27 15:37:05.000000000
+0200
+++ new/Convert-UUlib-1.5/uulib/uuscan.c 2015-07-10 00:58:14.000000000
+0200
@@ -1102,7 +1102,7 @@
if (vflag == BH_ENCODED && bhnf == 0 && result->filename == NULL) {
if (bhdsp == bhds2 ||
((bhdsp-bhds2) <= (int) bhds2[0] &&
- (bhdsp-bhds2) < 256)) {
+ (bhdsp-bhds2) < 256)) {
dcc = UUDecodeLine (line, bhds1, BH_ENCODED);
UUbhdecomp (bhds1, bhdsp, &bhl, &bhrpc,
dcc, 256-(bhdsp-bhds2), &bhopc);