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
Open any project
enter cache or write mode
- select a assembly instruction with right click, and go to Edit > Bytes in the drop down
- 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:
Blank field:
Invalid character:
Invalid character with valid hex characters:
Pasting in a hex number with multiple characters:
DOES CRASH:
Because I am not able to provide a screenshot, I will give a example
Input: e (or any single valid hexadecimal character)
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: 0x000000Source: rizinorg/cutter