bug-xorriso
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-xorriso] Unable to attach big partition


From: Thomas Schmitt
Subject: Re: [Bug-xorriso] Unable to attach big partition
Date: Mon, 23 Jan 2017 16:52:51 +0100

Hi,

the 32 bit rollover obviously takes place when the size counted in blocks
in uint32_t variables gets multiplied by 2048 to yield a byte count in an
off_t variable.

The following change in libisofs or GNU xorriso fixes the problem for me:
---------------------------------------------------------------------------

=== modified file 'libisofs/system_area.c'
--- libisofs/system_area.c      2017-01-03 11:55:12 +0000
+++ libisofs/system_area.c      2017-01-23 15:34:12 +0000
@@ -184,7 +184,7 @@
         }
         t->appended_part_size[i] = size;
         pos += add_pos + size;
-        t->total_size += (add_pos + size) * 2048;
+        t->total_size += (((off_t) add_pos) + size) * 2048;
         if (flag & 1)
             t->curblock = pos;
     }

---------------------------------------------------------------------------

The old state of the change still matches version 1.4.2 :
  
http://bazaar.launchpad.net/~libburnia-team/libisofs/scdbackup/view/1285/libisofs/system_area.c#L184

If you feel apt to change your local GNU xorriso, then please do and report
whether it works for you, too.
If there arise difficulties, then give me a note and i will upload a new
GNU xorriso-1.4.7 development snapshot tarball.


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]