qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH] Fix checksum writing in signboot.sh


From: Avi Kivity
Subject: [Qemu-devel] Re: [PATCH] Fix checksum writing in signboot.sh
Date: Sun, 02 Aug 2009 13:04:01 +0300
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b3pre) Gecko/20090513 Fedora/3.0-2.3.beta2.fc11 Lightning/1.0pre Thunderbird/3.0b2

On 08/01/2009 12:48 PM, Alexander Graf wrote:
The printf command takes an octal value after \, so we have to convert
our decimal representation to octal first and then write it.

This unbreaks extboot signing. Multiboot wasn't affected yet because
the checksum was<  8.

Spotted and first patch by Glauber Costa<address@hidden>.
Printf idea by Paolo Bonzini<address@hidden>.

Signed-off-by: Alexander Graf<address@hidden>
CC: Glauber Costa<address@hidden>
CC: Paolo Bonzini<address@hidden>
CC: Jan Ondrej<address@hidden>
---
  pc-bios/optionrom/signrom.sh |    3 ++-
  1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/pc-bios/optionrom/signrom.sh b/pc-bios/optionrom/signrom.sh
index 4322811..975b27d 100755
--- a/pc-bios/optionrom/signrom.sh
+++ b/pc-bios/optionrom/signrom.sh
@@ -39,7 +39,8 @@ done

  sum=$(( $sum % 256 ))
  sum=$(( 256 - $sum ))
+sum_octal=$( printf "%o" $sum )

  # and write the output file
  cp "$1" "$2"
-printf "\\$sum" | dd of="$2" bs=1 count=1 seek=$size conv=notrunc 2>/dev/null
+printf "\\$sum_octal" | dd of="$2" bs=1 count=1 seek=$size conv=notrunc 
2>/dev/null

While the patch is good, the code is unreadable. Can we mandate python for such tricks?

   f = file(out, 'r+b')
   f.seek(size)
   f.write(chr(sum))

sh is not a sane programming language.

--
error compiling committee.c: too many arguments to function





reply via email to

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