Bug 1415081 - cpio fails with checksum error larger files >~200M
Summary: cpio fails with checksum error larger files >~200M
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: cpio
Version: 7.3
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 7.4
Assignee: Pavel Raiskup
QA Contact: Vaclav Danek
Depends On: 1001965
Blocks: 1420851 1483571
TreeView+ depends on / blocked
Reported: 2017-01-20 07:59 UTC by Steffen Froemer
Modified: 2020-12-14 08:01 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Cpio's crc checksum algorithm works with improperly casted or badly sized integers. Consequence: Even though the cpio utility extracts the files from "crc" archives (concrete cpio archive format) correctly, it fails if the archive contains files larger than 200MB and prints warning that the CRC of extracted file is not correct. Fix: Using integer type of proper size. Result: Cpio now extracts files larger than 200MB from 'crc' archives without complaining.
Clone Of: 1001965
: 1483571 (view as bug list)
Last Closed: 2018-04-10 10:07:29 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 2882681 0 None None None 2017-01-20 08:38:27 UTC
Red Hat Product Errata RHBA-2018:0693 0 None None None 2018-04-10 10:07:49 UTC

Description Steffen Froemer 2017-01-20 07:59:21 UTC
+++ This bug was initially created as a clone of Bug #1001965 +++

Description of problem:
cpio with crc format fails to verfy chjecksums and also can't extract the files.
This happens with files > ~200M (didn't see it with smaller ones).

Version-Release number of selected component (if applicable):
Version     : 2.11
Release     : 24.el7
Architecture: x86_64

How reproducible:

Steps to Reproduce:
1. Run:
dd if=/dev/urandom of=rand bs=1M count=300
echo rand | cpio --create --format=crc --verbose > rand.cpio
cpio --extract --only-verify-crc < rand.cpio

Actual results:
cpio fails with checksum error:
614401 blocks
cpio: rand: checksum error (0x9568bd204, should be 0x568bd204)
614401 blocks

Expected results:
cpio doesn't get a checksum error

Additional info:
This issue does not exist in F24.

Name        : cpio
Version     : 2.12
Release     : 3.fc24
Architecture: x86_64

Following commit is missing in the RHEL version:

* Mo Sep 30 2013 Pavel Raiskup <praiskup@redhat.com> - 2.11-24
- properly trim "crc" checksum to 32 bits (#1001965)           <=====
- remove unneeded patch for config.gues/config.sub (#951442)
- allow treat read() errors (#996150)

Comment 15 errata-xmlrpc 2018-04-10 10:07:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.