⬢ DragonFlyBSD Kernel Audit
DF-5727 / fix.diff
← back to finding ↓ download raw
--- a/sys/ddb/db_watch.c	2026-06-29 12:51:18.000000000 +0000
+++ b/sys/ddb/db_watch.c	2026-10-10 18:39:43.935899216 +0000
@@ -195,10 +195,16 @@
 	vm_size_t	size;
 	db_expr_t	value;
 
-	if (db_expression(&value))
+	if (count != -1)
+	    /* standard "watch addr[,size]" syntax: size already parsed */
+	    size = (vm_size_t) count;
+	else if (db_expression(&value))
+	    /* legacy "watch addr size" syntax */
 	    size = (vm_size_t) value;
 	else
 	    size = 4;
+	if (size == 0)
+	    size = 4;
 	db_skip_to_eol();
 
 	db_set_watchpoint(db_map_addr(addr), addr, size);