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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user