Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/hooks/archiso
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2013-01-08 20:20:03 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2013-01-08 20:20:03 -0300
commit662249c2c974297208a94c557da9461f1ed4238c (patch)
treefb3761a9a734cf2a3029e0ce7e9d3a67a1be9b99 /hooks/archiso
parentc82f68c1b4c4f0e9f2b13ca8f9148ae31d02f2b0 (diff)
[archiso] Avoid integer overflow when .fs is > 10.2G
Diffstat (limited to 'hooks/archiso')
-rw-r--r--hooks/archiso7
1 files changed, 6 insertions, 1 deletions
diff --git a/hooks/archiso b/hooks/archiso
index 491ed2f..66a6273 100644
--- a/hooks/archiso
+++ b/hooks/archiso
@@ -11,7 +11,12 @@ _mnt_fs() {
ro_dev=$(losetup --find --show --read-only "${img}")
echo ${ro_dev} >> /run/archiso/used_block_devices
ro_dev_size=$(blockdev --getsz ${ro_dev})
- rw_dev_size=$((ro_dev_size*cowfile_size/100))
+ if [[ "${cowfile_size}" == "100" ]]; then
+ rw_dev_size=${ro_dev_size}
+ else
+ # size calculation done in this way to avoid integer overflow when ro_dev_size is > 10.2G
+ rw_dev_size=$((ro_dev_size/100*cowfile_size))
+ fi
if [[ "${cow_persistent}" == "P" ]]; then
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then