mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
Fix checksum writing in signboot.sh
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 <glommer@redhat.com>. Printf idea by Paolo Bonzini <bonzini@gnu.org>. Signed-off-by: Alexander Graf <agraf@suse.de> CC: Glauber Costa <glommer@redhat.com> CC: Paolo Bonzini <bonzini@gnu.org> CC: Jan Ondrej <ondrejj@salstar.sk> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
This commit is contained in:
parent
9aebd98aab
commit
c66b57fc14
1 changed files with 2 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue