aboutsummaryrefslogtreecommitdiff
path: root/clang/tools/c-index-test/c-index-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/c-index-test/c-index-test.c')
-rw-r--r--clang/tools/c-index-test/c-index-test.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c
index 50f32c0..7711df3 100644
--- a/clang/tools/c-index-test/c-index-test.c
+++ b/clang/tools/c-index-test/c-index-test.c
@@ -3546,7 +3546,7 @@ static CXIdxClientContainer makeClientContainer(CXClientData *client_data,
char *newStr;
CXIdxClientFile file;
unsigned line, column;
- size_t len;
+ size_t datalen;
name = info->name;
if (!name)
@@ -3554,13 +3554,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) + 3;
- node = (IndexDataStringList *)malloc(len);
+ datalen = strlen(name) + digitCount(line) + digitCount(column) + 3;
+ node = (IndexDataStringList *)malloc(datalen + sizeof(IndexDataStringList));
assert(node);
newStr = node->data;
- snprintf(newStr, len - sizeof(IndexDataStringList), "%s:%d:%d", name, line,
- column);
+ snprintf(newStr, datalen, "%s:%d:%d", name, line, column);
/* Remember string so it can be freed later. */
index_data = (IndexData *)client_data;