Posting here for future reference / checks.
Enable debugger and purifier to test it.
Code: Select all
PurifierGranularity(1,1,1,1)
; Array out of bounds
; ASM OK
; C not working / still not implemented (see https://www.purebasic.fr/english/viewtopic.php?t=81031 )
Dim a(10)
For k = 0 To 11
a(k) = 123
Next
; Global variable overflow
; ASM OK
; C not supported (see https://www.purebasic.fr/english/viewtopic.php?p=573179 )
Global var.b
PokeI(@var, 123456)
; Local variable overflow
; ASM OK
; C not supported (see https://www.purebasic.fr/english/viewtopic.php?p=573179 )
Procedure foo()
Protected var.b
PokeI(@var, 123456)
EndProcedure : foo()
; Allocated memory area overflow
; ASM OK
; C OK
*p = AllocateMemory(16)
For k = 0 To 16
PokeB(*p + k, $80)
Next
; String memory block overflow
; ASM OK
; C OK
a$ = "12345678"
PokeB(@a$ + SizeOf(Character) * 9, $80)
viewtopic.php?t=81031