diff options
Diffstat (limited to 'sys-apps/gptfdisk/files/gptfdisk-1.0.7-remove_byteswap.patch')
-rw-r--r-- | sys-apps/gptfdisk/files/gptfdisk-1.0.7-remove_byteswap.patch | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/sys-apps/gptfdisk/files/gptfdisk-1.0.7-remove_byteswap.patch b/sys-apps/gptfdisk/files/gptfdisk-1.0.7-remove_byteswap.patch deleted file mode 100644 index c1874d6edd7c..000000000000 --- a/sys-apps/gptfdisk/files/gptfdisk-1.0.7-remove_byteswap.patch +++ /dev/null @@ -1,50 +0,0 @@ -From fded770b55fdb3a201ad515d785c17ac35705652 Mon Sep 17 00:00:00 2001 -From: Erik Larsson <catacombae@gmail.com> -Date: Tue, 8 Jun 2021 16:11:21 +0300 -Subject: [PATCH] gptpart.cc: Remove byteswap commands in - GPTPart::SetName(const string&). - -The byteswapping done in GPTPart::SetName(const string&) was reversed -later when GPTPart::ReversePartBytes() was called. - -The intended design seems to have been to keep the fields in native -endianness until just before the partition is written to disk when all -the GPTPart data is byteswapped all at once with a call to -GPTPart::ReversePartBytes(). -However this was defeated by leaving the original byteswaps in there and -effectively the name was swapped back to the native-endian form. For big -endian systems this meant that a UTF-16BE string was written to disk, -violating the specification and causing interoperability problems. - -Fixed by removing these inline byteswaps in GPTPart::SetName(const -string&). ---- - gptpart.cc | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/gptpart.cc b/gptpart.cc -index 81bbcf0..841140a 100644 ---- a/gptpart.cc -+++ b/gptpart.cc -@@ -242,7 +242,6 @@ void GPTPart::SetName(const string & theName) { - // then to utf16le - if ( uni < 0x10000 ) { - name[ pos ] = (uint16_t) uni ; -- if ( ! IsLittleEndian() ) ReverseBytes( name + pos , 2 ) ; - pos ++ ; - } // if - else { -@@ -252,10 +251,8 @@ void GPTPart::SetName(const string & theName) { - } // if - uni -= 0x10000 ; - name[ pos ] = (uint16_t)( uni >> 10 ) | 0xd800 ; -- if ( ! IsLittleEndian() ) ReverseBytes( name + pos , 2 ) ; - pos ++ ; - name[ pos ] = (uint16_t)( uni & 0x3ff ) | 0xdc00 ; -- if ( ! IsLittleEndian() ) ReverseBytes( name + pos , 2 ) ; - pos ++ ; - } - } // for --- -2.32.0 - |