From 234127f73aa592ade9ab00a3cd07e0d2a946ee78 Mon Sep 17 00:00:00 2001 From: dexter <164054284+Naveed8951@users.noreply.github.com> Date: Thu, 15 Jan 2026 04:24:46 -0800 Subject: [PATCH] Fix VM service smaps path NUL termination to prevent OOB reads Closes https://github.com/dart-lang/sdk/pull/62415 GitOrigin-RevId: d50a6de006545e64ea8706027f5055cc5dc46ef6 Change-Id: Ide1bbceb184d4c5a9137f667023aa42c32df6d20 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/473161 Commit-Queue: Slava Egorov Reviewed-by: Slava Egorov --- runtime/vm/service.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc index f7c9ff4c187..bd889c32580 100644 --- a/runtime/vm/service.cc +++ b/runtime/vm/service.cc @@ -4895,6 +4895,7 @@ static void AddVMMappings(JSONArray* rss_children) { } strncpy(path, path_start, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; int len = strlen(path); if ((len > 0) && path[len - 1] == '\n') { path[len - 1] = 0; @@ -4923,7 +4924,8 @@ static void AddVMMappings(JSONArray* rss_children) { } if (!updated) { VMMapping mapping; - strncpy(mapping.path, path, sizeof(mapping.path)); + strncpy(mapping.path, path, sizeof(mapping.path) - 1); + mapping.path[sizeof(mapping.path) - 1] = '\0'; mapping.size = size; mappings.Add(mapping); }