Hello,
I’m trying to build and run Dyninst and the Test Suite. In our lab, tests from test5_1 to test5_9 crash in rewriter mode with the reason Group Teardown.
Dyninst and Test Suite version is 9.0.3, OS is CentOS 7.1, compiler version – gcc 5.1.0.
The tests fail with segmentation fault, caused by a function Symbol::getTypedName() from symtabAPI/src/Symbol.C . As far as I can understand, it attempts to create a substring of a string "mangledName_" from the beginning
to a first semicolon. But it gets the address of the semicolon from a newly created “working_name” string, then subtracts the address of the "mangledName_". The result (in our case it is usually negative, then cast to unsigned int and becomes really big) is
then passed as substring length, causing a segmentation fault.
Do I understand correctly that the original intent was to get the address of the semicolon from the "mangledName_" string? I have tested this fix in our lab, it seems to resolve the crashes.
Best regards,
Tatyana