- Notifications
You must be signed in to change notification settings - Fork 395
Open
Description
I got this error on 64bit compiled version against a 64 bit process I was memory searching (had to change it to a long):
=================================== Arithmetic operation resulted in an overflow. (ReClass.NET) ------------------------------ For help, click: https://github.com/ReClassNET/ReClass.NET/issues ------------------------------ Program Location: at ReClassNET.MemoryScanner.Scanner.ConsolidateSections(IList`1 sections) in C:\Users\chris\Downloads\ReClass.NET-master\ReClass.NET\MemoryScanner\Scanner.cs:line 344 at ReClassNET.MemoryScanner.Scanner.FirstScan(IScanComparer comparer, IProgress`1 progress, CancellationToken ct) in C:\Users\chris\Downloads\ReClass.NET-master\ReClass.NET\MemoryScanner\Scanner.cs:line 201 at ReClassNET.Forms.ScannerForm.<StartFirstScanEx>d__43.MoveNext() in C:\Users\chris\Downloads\ReClass.NET-master\ReClass.NET\Forms\ScannerForm.cs:line 0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at ReClassNET.Forms.ScannerForm.<firstScanButton_Click>d__17.MoveNext() in C:\Users\chris\Downloads\ReClass.NET-master\ReClass.NET\Forms\ScannerForm.cs:line 142 I fixed it by changing Scanner.cs
class ConsolidatedMemoryRegion{public IntPtr Address{get; set} public int Size{get; set} // Keep as int } Also in that same file:
private static List<ConsolidatedMemoryRegion> ConsolidateSections(IList<Section> sections){var regions = new List<ConsolidatedMemoryRegion>(); if (sections.Count > 0){var address = sections[0].Start; long size = sections[0].Size.ToInt64(); // Updated to long for (var i = 1; i < sections.Count; ++i){var section = sections[i]; if (address + (int)size != section.Start) // Updated to cast to int{regions.Add(new ConsolidatedMemoryRegion{Address = address, Size = (int)size }); // Updated to cast to int address = section.Start; size = section.Size.ToInt64(); // Updated to long } else{size += section.Size.ToInt64(); // Updated to long } } regions.Add(new ConsolidatedMemoryRegion{Address = address, Size = (int)size }); // Updated to cast to int } return regions} Metadata
Metadata
Assignees
Labels
No labels