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? */ /tests.scm'>
path: root/gnu/installer/tests.scm
AgeCommit message (Expand)Author
2022-09-24installer: tests: Fix typo....* gnu/installer/tests.scm (edit-configuration-file): Fix it. Mathieu Othacehe
2022-09-24installer: Fix configuration edition during testing....When the configuration is edited, it looks like there are some leftover fragments from the input configuration: Example content of config.scm after edition: #:imported-modules '((gnu services herd) (guix build utils) (guix combinators))) unted". The unique ;; file system identifiers there ("UUIDs") can be obtained ;; by running 'blkid' in a terminal. ... This is strange because call-with-output-file uses the O_TRUNC flag which resets the file size to zero. Remove the configuration file before writing it as a work-around. * gnu/installer/tests.scm (edit-configuration-file): Remove the configuration file before re-writing it. Mathieu Othacehe