#3641·cutter

Cutter crashes with 1 valid hexadecimal character in edit byte

Author: bbrz3Created Jul 6, 2026Updated Jul 6, 2026

Environment information

  • Operating System: MACOS TAHOE 26.5.1 ARM64 M3
  • Cutter version: Version 2.5.0-HEAD-a6f6ad7
  • Obtained from:
    • Built from source
    • Downloaded release from Cutter website or GitHub
    • Distribution repository
  • File format: MacOS

Describe the bug

When modifying bytes in disassembler view cutter crashes when there is exactly 1 VALID hexadecimal character in field

To Reproduce

  1. Open any project

  2. enter cache or write mode

Image
  1. select a assembly instruction with right click, and go to Edit > Bytes in the drop down
Image
  1. in the field, you must have exactly 1 valid hex character in the field for it to crash. You can do this by just deleting all current characters and type a valid hexadecimal character or by leaving the hex number that is already there and deleting each character until you only have 1 left

DOESNT CRASH:

More than 1 valid hex character: Image

Blank field: Image

Invalid character: Image

Invalid character with valid hex characters: Image

Pasting in a hex number with multiple characters:

Image

DOES CRASH:

Because I am not able to provide a screenshot, I will give a example

Input: e (or any single valid hexadecimal character)

Image

Expected behavior

Cutter crashes immediately with this crash reporter statement (full report not included):

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process:             cutter [2874]
Path:                /Applications/Cutter.app/Contents/MacOS/Cutter
Identifier:          re.rizin.cutter
Version:             2.5.0-HEAD-a6f6ad7 (2.5.0-HEAD-a6f6ad7)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      Exited process [2873]
Coalition:           com.apple.Terminal [1588]
Responsible Process: Terminal [1565]
User ID:             0

Date/Time:           2026-07-05 23:39:14.6474 -0700
Launch Time:         2026-07-05 23:38:34.3665 -0700
Hardware Model:      Mac15,13
OS Version:          macOS 26.5.1 (25F80)
Release Type:        User

Crash Reporter Key:  9B2EA1B1-A9AE-A452-6A0F-B3B5A8EBB704
Incident Identifier: 9EDC39B9-6042-4B85-89CE-B5781FE08C7C

Sleep/Wake UUID:       FBEDF7BF-8C1E-4CD4-AB72-08D378E51E6B

Time Awake Since Boot: 5800 seconds
Time Since Wake:       1936 seconds

System Integrity Protection: enabled

Triggered by Thread: 0, Dispatch Queue: com.apple.main-thread

Exception Type:    EXC_BAD_ACCESS (SIGBUS)
Exception Subtype: KERN_PROTECTION_FAILURE at 0x00000001036daf7f
Exception Codes:   0x0000000000000002, 0x00000001036daf7f

Termination Reason:  Namespace SIGNAL, Code 10, Bus error: 10
Terminating Process: exc handler [2874]


VM Region Info: 0x1036daf7f is in 0x103320000-0x103818000;  bytes after start: 3911551  bytes before end: 1298560
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      __LINKEDIT                  10321c000-103320000    [ 1040K] r--/rwx SM=COW  /Applications/Cutter.app/Contents/Frameworks/QtGui.framework/Versions/A/QtGui
--->  __TEXT                      103320000-103818000    [ 5088K] r-x/rwx SM=COW  /Applications/Cutter.app/Contents/Frameworks/QtCore.framework/Versions/A/QtCore
      __DATA_CONST                103818000-103828000    [   64K] r--/rw- SM=COW  /Applications/Cutter.app/Contents/Frameworks/QtCore.framework/Versions/A/QtCore

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   librz_util.0.9.dylib          	       0x101928514 rz_hex_str2bin + 180
1   cutter                        	       0x1000ddb00 CutterCore::hexStringToBytes(QString const&) + 168
2   cutter                        	       0x100139b84 0x100084000 + 744324
3   QtCore                        	       0x103411434 0x103320000 + 988212
4   QtWidgets                     	       0x101dd1650 QLineEdit::textEdited(QString const&) + 52
5   QtWidgets                     	       0x101dd2e50 0x101c48000 + 1617488
6   QtCore                        	       0x103411434 0x103320000 + 988212
7   QtWidgets                     	       0x101dd6fe8 QWidgetLineControl::finishChange(int, bool, bool) + 560
8   QtWidgets                     	       0x101ddc3f4 QWidgetLineControl::processKeyEvent(QKeyEvent*) + 3416
9   QtWidgets                     	       0x101dcd4c0 QLineEdit::keyPressEvent(QKeyEvent*) + 28
10  QtWidgets                     	       0x101caacc0 QWidget::event(QEvent*) + 548
11  QtWidgets                     	       0x101dcc9ec QLineEdit::event(QEvent*) + 580
12  QtWidgets                     	       0x101c5596c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
13  QtWidgets                     	       0x101c56b64 QApplication::notify(QObject*, QEvent*) + 952
14  QtCore                        	       0x1033bbbb8 QCoreApplication::forwardEvent(QObject*, QEvent*, QEvent*) + 184
15  QtWidgets                     	       0x101cc2544 0x101c48000 + 501060
16  QtWidgets                     	       0x101c5596c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
17  QtWidgets                     	       0x101c569ac QApplication::notify(QObject*, QEvent*) + 512
18  QtCore                        	       0x1033bc7e4 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) + 176
19  QtGui                         	       0x102b4d47c QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) + 368
20  QtGui                         	       0x102bb5acc QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 408
21  QtGui                         	       0x102bb563c QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 292
22  libqcocoa.dylib               	       0x103d66cf8 0x103cfc000 + 437496
23  libqcocoa.dylib               	       0x103d67ae0 0x103cfc000 + 441056
24  AppKit                        	       0x18a980134 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 300
25  AppKit                        	       0x18a97fe64 -[NSWindow(NSEventRouting) sendEvent:] + 380
26  libqcocoa.dylib               	       0x103d75c7c 0x103cfc000 + 498812
27  AppKit                        	       0x18b3f01dc -[NSApplication(NSEventRouting) sendEvent:] + 716
28  libqcocoa.dylib               	       0x103d06db0 0x103cfc000 + 44464
29  AppKit                        	       0x18aa84364 -[NSApplication _doModalLoop:peek:] + 280
30  AppKit                        	       0x18b03e320 __33-[NSApplication runModalSession:]_block_invoke_2 + 84
31  AppKit                        	       0x18b03e2b0 __33-[NSApplication runModalSession:]_block_invoke + 112
32  AppKit                        	       0x18aa827c4 _NSTryRunModal + 100
33  AppKit                        	       0x18b03e180 -[NSApplication runModalSession:] + 148
34  libqcocoa.dylib               	       0x103d1438c 0x103cfc000 + 99212
35  QtCore                        	       0x1033c620c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 588
36  QtWidgets                     	       0x101ea1584 QDialog::exec() + 500
37  cutter                        	       0x1001ad4b8 DisassemblyContextMenu::editBytesTriggered() + 304
38  QtCore                        	       0x103411434 0x103320000 + 988212
39  QtGui                         	       0x102eebed8 QAction::activate(QAction::ActionEvent) + 368
40  QtWidgets                     	       0x101e134d4 0x101c48000 + 1881300
41  QtWidgets                     	       0x101e10c24 0x101c48000 + 1870884
42  QtWidgets                     	       0x101e183c0 QMenu::mouseReleaseEvent(QMouseEvent*) + 728
43  QtWidgets                     	       0x101caab20 QWidget::event(QEvent*) + 132
44  QtWidgets                     	       0x101e18a44 QMenu::event(QEvent*) + 1156
45  QtWidgets                     	       0x101c5596c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
46  QtWidgets                     	       0x101c57c04 QApplication::notify(QObject*, QEvent*) + 5208
47  QtCore                        	       0x1033bc7e4 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) + 176
48  QtWidgets                     	       0x101c55fc0 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 888
49  QtWidgets                     	       0x101cc3534 0x101c48000 + 505140
50  QtWidgets                     	       0x101cc2518 0x101c48000 + 501016
51  QtWidgets                     	       0x101c5596c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
52  QtWidgets                     	       0x101c569ac QApplication::notify(QObject*, QEvent*) + 512
53  QtCore                        	       0x1033bc7e4 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) + 176
54  QtGui                         	       0x102b4cdec QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2092
55  QtGui                         	       0x102bb5acc QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 408
56  libqcocoa.dylib               	       0x103d16b98 0x103cfc000 + 109464
57  CoreFoundation                	       0x18642ef30 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
58  CoreFoundation                	       0x18642eec4 __CFRunLoopDoSource0 + 172
59  CoreFoundation                	       0x18642ec30 __CFRunLoopDoSources0 + 232
60  CoreFoundation                	       0x18642d854 __CFRunLoopRun + 820
61  CoreFoundation                	       0x1865001c4 _CFRunLoopRunSpecificWithOptions + 532
62  HIToolbox                     	       0x193213560 RunCurrentEventLoopInMode + 320
63  HIToolbox                     	       0x1932167e4 ReceiveNextEventCommon + 272
64  HIToolbox                     	       0x1933a014c _BlockUntilNextEventMatchingListInMode + 48
65  AppKit                        	       0x18af0835c _DPSBlockUntilNextEventMatchingListInMode + 228
66  AppKit                        	       0x18a85c084 _DPSNextEvent + 576
67  AppKit                        	       0x18b3f18b0 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
68  AppKit                        	       0x18b3f15bc -[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72
69  AppKit                        	       0x18a84f13c -[NSApplication run] + 368
70  libqcocoa.dylib               	       0x103d14430 0x103cfc000 + 99376
71  QtCore                        	       0x1033c620c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 588
72  QtWidgets                     	       0x101e16d20 0x101c48000 + 1895712
73  QtWidgets                     	       0x101e16bac QMenu::exec(QPoint const&, QAction*) + 52
74  cutter                        	       0x1001b81cc 0x100084000 + 1262028
75  QtCore                        	       0x103411434 0x103320000 + 988212
76  QtWidgets                     	       0x101cab6b0 QWidget::event(QEvent*) + 3092
77  QtWidgets                     	       0x101cffb80 QFrame::event(QEvent*) + 56
78  QtCore                        	       0x1033bbec8 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 256
79  QtWidgets                     	       0x101c5594c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 300
80  QtWidgets                     	       0x101c57600 QApplication::notify(QObject*, QEvent*) + 3668
81  QtCore                        	       0x1033bbbb8 QCoreApplication::forwardEvent(QObject*, QEvent*, QEvent*) + 184
82  QtWidgets                     	       0x101cc5258 0x101c48000 + 512600
83  QtWidgets                     	       0x101cc2698 0x101c48000 + 501400
84  QtWidgets                     	       0x101c5596c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
85  QtWidgets                     	       0x101c569ac QApplication::notify(QObject*, QEvent*) + 512
86  QtCore                        	       0x1033bbbb8 QCoreApplication::forwardEvent(QObject*, QEvent*, QEvent*) + 184
87  QtGui                         	       0x102bae19c QWindowPrivate::maybeSynthesizeContextMenuEvent(QMouseEvent*) + 796
88  QtWidgets                     	       0x101cc32cc 0x101c48000 + 504524
89  QtWidgets                     	       0x101cc2518 0x101c48000 + 501016
90  QtWidgets                     	       0x101c5596c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
91  QtWidgets                     	       0x101c569ac QApplication::notify(QObject*, QEvent*) + 512
92  QtCore                        	       0x1033bc7e4 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) + 176
93  QtGui                         	       0x102b4cdec QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2092
94  QtGui                         	       0x102bb5acc QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 408
95  libqcocoa.dylib               	       0x103d16b98 0x103cfc000 + 109464
96  CoreFoundation                	       0x18642ef30 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
97  CoreFoundation                	       0x18642eec4 __CFRunLoopDoSource0 + 172
98  CoreFoundation                	       0x18642ec30 __CFRunLoopDoSources0 + 232
99  CoreFoundation                	       0x18642d854 __CFRunLoopRun + 820
100 CoreFoundation                	       0x1865001c4 _CFRunLoopRunSpecificWithOptions + 532
101 HIToolbox                     	       0x193213560 RunCurrentEventLoopInMode + 320
102 HIToolbox                     	       0x1932167e4 ReceiveNextEventCommon + 272
103 HIToolbox                     	       0x1933a014c _BlockUntilNextEventMatchingListInMode + 48
104 AppKit                        	       0x18af0835c _DPSBlockUntilNextEventMatchingListInMode + 228
105 AppKit                        	       0x18a85c084 _DPSNextEvent + 576
106 AppKit                        	       0x18b3f18b0 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
107 AppKit                        	       0x18b3f15bc -[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72
108 AppKit                        	       0x18a84f13c -[NSApplication run] + 368
109 libqcocoa.dylib               	       0x103d14430 0x103cfc000 + 99376
110 QtCore                        	       0x1033c620c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 588
111 QtCore                        	       0x1033bc398 QCoreApplication::exec() + 148
112 cutter                        	       0x1000bb088 0x100084000 + 225416
113 dyld                          	       0x185fb3e00 start + 6992

Thread 1:

Thread 2:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	       0x18632dc34 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x186340574 mach_msg2_internal + 76
2   libsystem_kernel.dylib        	       0x1863369c0 mach_msg_overwrite + 480
3   libsystem_kernel.dylib        	       0x18632dfc0 mach_msg + 24
4   CoreFoundation                	       0x18642f0d8 __CFRunLoopServiceMachPort + 160
5   CoreFoundation                	       0x18642d9c4 __CFRunLoopRun + 1188
6   CoreFoundation                	       0x1865001c4 _CFRunLoopRunSpecificWithOptions + 532
7   AppKit                        	       0x18a97dc7c _NSEventThread + 184
8   libsystem_pthread.dylib       	       0x186371c58 _pthread_start + 136
9   libsystem_pthread.dylib       	       0x18636cc1c thread_start + 8

Thread 3:: Thread (pooled)
0   libsystem_kernel.dylib        	       0x18633150c __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x186372128 _pthread_cond_wait + 980
2   QtCore                        	       0x10357850c 0x103320000 + 2458892
3   QtCore                        	       0x103578384 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
4   QtCore                        	       0x1034bcc30 0x103320000 + 1690672
5   QtCore                        	       0x10356eee4 0x103320000 + 2420452
6   libsystem_pthread.dylib       	       0x186371c58 _pthread_start + 136
7   libsystem_pthread.dylib       	       0x18636cc1c thread_start + 8

Thread 4:: Thread (pooled)
0   libsystem_kernel.dylib        	       0x18633150c __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x186372128 _pthread_cond_wait + 980
2   QtCore                        	       0x10357850c 0x103320000 + 2458892
3   QtCore                        	       0x103578384 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
4   QtCore                        	       0x1034bcc30 0x103320000 + 1690672
5   QtCore                        	       0x10356eee4 0x103320000 + 2420452
6   libsystem_pthread.dylib       	       0x186371c58 _pthread_start + 136
7   libsystem_pthread.dylib       	       0x18636cc1c thread_start + 8

Thread 5:: Thread (pooled)
0   libsystem_kernel.dylib        	       0x18633150c __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x186372128 _pthread_cond_wait + 980
2   QtCore                        	       0x10357850c 0x103320000 + 2458892
3   QtCore                        	       0x103578384 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
4   QtCore                        	       0x1034bcc30 0x103320000 + 1690672
5   QtCore                        	       0x10356eee4 0x103320000 + 2420452
6   libsystem_pthread.dylib       	       0x186371c58 _pthread_start + 136
7   libsystem_pthread.dylib       	       0x18636cc1c thread_start + 8

Thread 6:: com.apple.CFSocket.private
0   libsystem_kernel.dylib        	       0x186338e80 __select + 8
1   CoreFoundation                	       0x1864547c8 __CFSocketManager + 708
2   libsystem_pthread.dylib       	       0x186371c58 _pthread_start + 136
3   libsystem_pthread.dylib       	       0x18636cc1c thread_start + 8

Thread 7:: Thread (pooled)
0   libsystem_kernel.dylib        	       0x18633150c __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x186372128 _pthread_cond_wait + 980
2   QtCore                        	       0x10357850c 0x103320000 + 2458892
3   QtCore                        	       0x103578384 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
4   QtCore                        	       0x1034bcc30 0x103320000 + 1690672
5   QtCore                        	       0x10356eee4 0x103320000 + 2420452
6   libsystem_pthread.dylib       	       0x186371c58 _pthread_start + 136
7   libsystem_pthread.dylib       	       0x18636cc1c thread_start + 8

Thread 8:

Thread 9:

Thread 10:


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x00000007e2ffbff0   x1: 0x00000001036daf7f   x2: 0x0000000000000001   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000000
    x8: 0x0000000000000000   x9: 0x0000000000000002  x10: 0x0000000000000002  x11: 0x00000007e2ffbff3
   x12: 0x00000007dda769f0  x13: 0x000000