On Sun, 28 Jun 2009, Chen Kedem wrote:

Hi,

> With bcc32 and ChangeLog rev11555
> ---tt54.prg---
> func test()
> local x, dDateE
> dDateE := CtoD( "" )
> x := CMonth( dDateE )
> ? x, dDateE
> return NIL
> --------------
> I get the following CodeGuard error:
> Error 00001. 0x130400 (Thread 0x0074):
> Access overrun: Attempt to access 4 byte(s) at 0x0051D20C, that is at block
>  0x0051D20C(=tt54.exe:0x02:00420C) which is only 2 bytes long.
> Call Tree:
>    0x004C9335(=tt54.exe:0x01:0C8335) ../../DATEC.C#63
>    0x004C9419(=tt54.exe:0x01:0C8419) ../../DATEC.C#82
>    0x00426C05(=tt54.exe:0x01:025C05) ../../HVM.C#5693
>    0x00418750(=tt54.exe:0x01:017750) ../../HVM.C#1625
>    0x00401180(=tt54.exe:0x01:000180) tt54.c#42
>    0x00416E48(=tt54.exe:0x01:015E48) ../../HVM.C#1067
> This error is new after recent API changes. I remember that we had similar 
> problem
> with constants in the past, were BCC try to optimize constant string access 
> by reading
> a 32bit value. This had a problem for less than 4 bytes strings.
> See my NOTE on source/rtl/console.c

Please test after:
   2009-06-30 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
     * harbour/source/rtl/datec.c
       * added workaround for CodeGuard false bug report covered by
         __CODEGUARD__ macro. Chen, if possible please test.

best regards,
Przemek
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to