From 10f368edbb6f0c6c3932b9a3d09bdea47568cafe Mon Sep 17 00:00:00 2001
From: tracer-ysyx <tracer@ysyx.org>
Date: Thu, 8 Feb 2024 18:57:24 +0800
Subject: [PATCH] =?UTF-8?q?>=20compile=20NEMU=20ysyx=5F22040000=20?=
 =?UTF-8?q?=E6=9D=8E=E5=BF=83=E6=9D=A8=20Linux=20calcite=206.1.75=20#1-Nix?=
 =?UTF-8?q?OS=20SMP=20PREEMPT=5FDYNAMIC=20Thu=20Jan=2025=2023:27:52=20UTC?=
 =?UTF-8?q?=202024=20x86=5F64=20GNU/Linux=20=2018:57:24=20=20up=201=20day?=
 =?UTF-8?q?=20=204:33,=20=202=20users,=20=20load=20average:=200.66,=200.87?=
 =?UTF-8?q?,=200.79?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 nemu/src/monitor/sdb/watchpoint.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/nemu/src/monitor/sdb/watchpoint.c b/nemu/src/monitor/sdb/watchpoint.c
index 445fcdb..0492c69 100644
--- a/nemu/src/monitor/sdb/watchpoint.c
+++ b/nemu/src/monitor/sdb/watchpoint.c
@@ -76,7 +76,13 @@ int wp_add(char * expr) {
     tail->next = wp;
     tail = wp;
   }
-  wp->expr = expr;
+  int len = strlen(expr);
+  wp->expr = malloc(len * sizeof(char));
+  if (wp->expr == NULL) {
+    Error("Failed to allocate memory for expression");
+    return 1;
+  }
+  strncpy(wp->expr, expr, len - 1);
   return 0;
 }