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


  Chen.
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to