nanogui: Thread: engine/devimage.c


[<<] [<] Page 1 of 1 [>] [>>]
Subject: engine/devimage.c
From: ####@####.#### (塩谷晶 =?ISO-2022-JP?B?GyRCSScbKEI=?=)
Date: 29 Aug 2001 04:35:03 -0000
Message-Id: <200108290429.AA00869@mt-petegari.rd.ten.fujitsu.co.jp>

Hi,

My co-worker (porting mincrowindows to ITRON) found an incident.

The engine/devimage.c contains some assignments as:

818:    bmpf.bfSize = *(DWORD*)&headbuffer[2];
819:    bmpf.bfOffBits = *(DWORD*)&headbuffer[10];
857:            bmpi.BiWidth = *(DWORD*)&headbuffer[0];
858:            bmpi.BiHeight = *(DWORD*)&headbuffer[4];
861:            bmpi.BiCompression = *(DWORD*)&headbuffer[12];
862:            bmpi.BiSizeImage = *(DWORD*)&headbuffer[16];
863:            bmpi.BiXpelsPerMeter = *(DWORD*)&headbuffer[20];
864:            bmpi.BiYpelsPerMeter = *(DWORD*)&headbuffer[24];
865:            bmpi.BiClrUsed = *(DWORD*)&headbuffer[28];
866:            bmpi.BiClrImportant = *(DWORD*)&headbuffer[32];

But, the alignment of headbuffer[] is *not* warranted. Then, somo of
&headbuffer[...] may indicate incorrect addresses for DWORD type data.

I think, these assignments should be implemented as memcpy(3) or series
of byte-to-byte assignment.

Regard

Akihiko Shiotani
(FUJUTSU-TEN Limited)
Subject: Re: [nanogui] engine/devimage.c
From: "Greg Haerr" ####@####.####
Date: 6 Sep 2001 17:39:31 -0000
Message-Id: <12fc01c136f1$2617d980$3aba46a6@xmission.com>

: 818:    bmpf.bfSize = *(DWORD*)&headbuffer[2];
: 819:    bmpf.bfOffBits = *(DWORD*)&headbuffer[10];
: 857:            bmpi.BiWidth = *(DWORD*)&headbuffer[0];
: 858:            bmpi.BiHeight = *(DWORD*)&headbuffer[4];
: 861:            bmpi.BiCompression = *(DWORD*)&headbuffer[12];
: 862:            bmpi.BiSizeImage = *(DWORD*)&headbuffer[16];
: 863:            bmpi.BiXpelsPerMeter = *(DWORD*)&headbuffer[20];
: 864:            bmpi.BiYpelsPerMeter = *(DWORD*)&headbuffer[24];
: 865:            bmpi.BiClrUsed = *(DWORD*)&headbuffer[28];
: 866:            bmpi.BiClrImportant = *(DWORD*)&headbuffer[32];

    I have fixed these issues in the current 0.89pre8 CVS version
of Microwindows.

Regards,

Greg




[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.