dbghelp: Check that we don't add same line number twice.

This happens (at least) in dwarf debug info where there could be two entries
with same source file and line number, but different column numbers
(and we don't store columns).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Eric Pouech 2021-11-08 14:57:32 +01:00 committed by Alexandre Julliard
parent 27b7a96d9b
commit e105e9d35e
1 changed files with 5 additions and 0 deletions

View File

@ -418,6 +418,11 @@ void symt_add_func_line(struct module* module, struct symt_function* func,
}
vlen = vector_length(&func->vlines);
prev = vlen ? vector_at(&func->vlines, vlen - 1) : NULL;
if (last_matches && prev && addr == prev->u.address)
{
WARN("Duplicate addition of line number in %s\n", func->hash_elt.name);
return;
}
if (!last_matches)
{
/* we shouldn't have line changes on first line of function */