summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-06-03 23:50:14 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-06-07 07:30:12 +0000
commita895d9868a637bf2a3c2ffd8d26828c99ea8f40f (patch)
treefe93deebc18cd40cce904fcc35a1c3ddca7843fd /filter
parent2ae410617c9cb2a196b9d09b8ac51e8b75a71c64 (diff)
filter: "tga" import: fix some endian issues in ImplReadPalette
Change-Id: Ia8ec7b7e19cf9b6b19497cbd77ae5a4e2fdccee7 (cherry picked from commit da4f7d5d76e054627b61521657d40141b9728e15) Reviewed-on: https://gerrit.libreoffice.org/25993 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'filter')
-rw-r--r--filter/source/graphicfilter/itga/itga.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/filter/source/graphicfilter/itga/itga.cxx b/filter/source/graphicfilter/itga/itga.cxx
index 20a90061e4f5..6bf858c9e351 100644
--- a/filter/source/graphicfilter/itga/itga.cxx
+++ b/filter/source/graphicfilter/itga/itga.cxx
@@ -734,14 +734,21 @@ bool TGAReader::ImplReadPalette()
break;
case 32 :
- m_rTGA.Read( mpColorMap, 4 * nColors );
+ for (sal_uInt16 i = 0; i < nColors; i++)
+ {
+ m_rTGA.ReadUInt32(mpColorMap[i]);
+ }
break;
case 24 :
{
for ( sal_uLong i = 0; i < nColors; i++ )
{
- m_rTGA.Read( &mpColorMap[ i ], 3 );
+ sal_uInt8 nBlue;
+ sal_uInt8 nGreen;
+ sal_uInt8 nRed;
+ m_rTGA.ReadUChar(nBlue).ReadUChar(nGreen).ReadUChar(nRed);
+ mpColorMap[i] = (nRed << 16) | (nGreen << 8) | nBlue;
}
}
break;