Copied from Fedora. http://pkgs.fedoraproject.org/cgit/unzip.git/plain/unzip-6.0-overflow-long-fsize.patch?id=d18f821e diff --git a/list.c b/list.c index f7359c3..4c3d703 100644 --- a/list.c +++ b/list.c @@ -97,7 +97,7 @@ int list_files(__G) /* return PK-type error code */ { int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL; #ifndef WINDLL - char sgn, cfactorstr[10]; + char sgn, cfactorstr[13]; int longhdr=(uO.vflag>1); #endif int date_format; @@ -339,7 +339,19 @@ int list_files(__G) /* return PK-type error code */ G.crec.compression_method == ENHDEFLATED) { methbuf[5] = dtype[(G.crec.general_purpose_bit_flag>>1) & 3]; } else if (methnum >= NUM_METHODS) { - sprintf(&methbuf[4], "%03u", G.crec.compression_method); + /* 2013-02-26 SMS. + * http://sourceforge.net/tracker/?func=detail + * &aid=2861648&group_id=118012&atid=679786 + * Unexpectedly large compression methods overflow + * &methbuf[]. Use the old, three-digit decimal format + * for values which fit. Otherwise, sacrifice the + * colon, and use four-digit hexadecimal. + */ + if (G.crec.compression_method <= 999) { + sprintf( &methbuf[ 4], "%03u", G.crec.compression_method); + } else { + sprintf( &methbuf[ 3], "%04X", G.crec.compression_method); + } } #if 0 /* GRR/Euro: add this? */ uild-aux/update-NEWS.scm'>
path: root/build-aux/update-NEWS.scm
AgeCommit message (Expand)Author
2021-05-10maint: update-NEWS: Sort packages prior writing to the data file....* build-aux/update-NEWS.scm (main): Sort packages. Maxim Cournoyer
2021-04-23build-aux: Relax the regexp used to match NEWS sections....A number of packages doesn't really make sense in the name of the section to be substituted. This change allows using simply '*** new packages' instead of '*** 1999 new packages', for example, and have the update-NEWS.scm script update it. * build-aux/update-NEWS.scm (write-packages-added) <regexp>: Do not care about leading white space in the name of the section. Maxim Cournoyer