[clang] c-index-test: fix buffer overflow (PR #129922)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 5 11:52:11 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Jinsong Ji (jsji)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/129922.diff
1 Files Affected:
- (modified) clang/tools/c-index-test/c-index-test.c (+2-2)
``````````diff
diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c
index 942500f2975e4..eb1d3de09acd0 100644
--- a/clang/tools/c-index-test/c-index-test.c
+++ b/clang/tools/c-index-test/c-index-test.c
@@ -3555,11 +3555,11 @@ static CXIdxClientContainer makeClientContainer(CXClientData *client_data,
clang_indexLoc_getFileLocation(loc, &file, 0, &line, &column, 0);
len = sizeof(IndexDataStringList) + strlen(name) + digitCount(line) +
- digitCount(column) + 2;
+ digitCount(column) + 3;
node = (IndexDataStringList *)malloc(len);
assert(node);
newStr = node->data;
- snprintf(newStr, len, "%s:%d:%d", name, line, column);
+ snprintf(newStr, len - sizeof(IndexDataStringList) , "%s:%d:%d", name, line, column);
/* Remember string so it can be freed later. */
index_data = (IndexData *)client_data;
``````````
</details>
https://github.com/llvm/llvm-project/pull/129922
More information about the cfe-commits
mailing list