Bug 81481

Summary: mediacheck won't validate discs over 4 GB
Product: [Retired] Red Hat Linux Reporter: Forrest <forresttaylor2000>
Component: anacondaAssignee: Michael Fulbright <msf>
Status: CLOSED RAWHIDE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0CC: mitr
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-01-22 21:51:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Forrest 2003-01-09 20:28:39 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021127

Description of problem:
Using mediacheck to check the validity of discs (DVD) over 4 GB will not work. 
Their md5sums match, but mediacheck says that it FAILs.

Discs at 3.2 and 3.9 GB have been verified using mediacheck, but not over 4 GB.

Version-Release number of selected component (if applicable):
anaconda-8.0-4

How reproducible:
Always

Steps to Reproduce:
1.  Create a disc that is > 4 GB
2.  Use implantisomd5 to implant the md5
3.  Use the mediacheck boot flag to check the image.
    

Actual Results:  Mediacheck will say that the disc fails, even though it is a
good disc, and the real md5sums match.

Comment 1 Michael Fulbright 2003-01-22 21:51:43 UTC
Fixed in CVS:

It was stupid - a variable that should have been long long wasnt.

Here is the diff if you'd like to compile implantisomd5.c yourself (its all you
need to change):

--- implantisomd5.c     28 Aug 2002 02:54:04 -0000      1.5
+++ implantisomd5.c     22 Jan 2003 21:46:05 -0000
@@ -95,10 +95,9 @@
     int forceit=0;
     int supported=0;
     int help=0;
-    long long isosize;
+    long long isosize, total;
     const char **args;
     unsigned char md5sum[16];
-    unsigned int total;
     unsigned int loc;
     unsigned char *fname;
     unsigned char buf[2048];