2017-11-23 17:51 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000142Cheat Enginepublic2009-09-10 16:22
ReporterSONSiVRi 
Assigned ToDark Byte 
PrioritynormalSeverityminorReproducibilitysometimes
StatusresolvedResolutionfixed 
Summary0000142: Integer Overflow in assembler
DescriptionWhen I choose "overflow checking" in runtime errors (project settings), below line throws an error in simple jmp opcode.

          if (not overrideShort) and ((OverrideLong) or (valueTotype(v-address-(opcodes[j].bytes+1))>8) ) then

current values are;
v=45388
address=45388
opcodes[j].bytes=1

so the result is "-2" and it cross the bounderies. I solved this issue by this;

          if (not overrideShort) and ((OverrideLong) or (valueToType(DWord(v-address-Integer(opcodes[j].bytes+1)))>8) ) then

"DWord" is keeping the size intact while transferring it into valueToType function (abs will reduce the size), and "Integer" is for making delphi to interpret as a integer and lifting the error.


I dunno is this helpful.
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0000283

Dark Byte (developer)

patch applied
+Notes

-Issue History
Date Modified Username Field Change
2009-09-10 05:05 SONSiVRi New Issue
2009-09-10 16:22 Dark Byte Note Added: 0000283
2009-09-10 16:22 Dark Byte Status new => resolved
2009-09-10 16:22 Dark Byte Resolution open => fixed
2009-09-10 16:22 Dark Byte Assigned To => Dark Byte
+Issue History