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 <vegorov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
This commit is contained in:
dexter
2026-01-15 04:24:46 -08:00
committed by Commit Queue
parent cce46f0e87
commit 234127f73a
+3 -1
View File
@@ -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);
}