Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix catch block parsing #1030

Merged
merged 1 commit into from
May 14, 2021
Merged

Fix catch block parsing #1030

merged 1 commit into from
May 14, 2021

Conversation

mxz297
Copy link
Member

@mxz297 mxz297 commented May 12, 2021

The root cause is that SymtabAPI uses a 8-byte value to read catch block addresses, which can be a 2, 4 or 8-byte value. While we are careful to clip the value when reading it, there is an addition to it later where we did not clip the value according to its size.

Fixes #1027

…e value.

SymtabAPI uses a 8-byte integer and properly clip the value when reading it.
However, there is an add to the read value, which will cause the final result
to wrap around under its specified size (such as 4-byte), but not under 8-byte.
@mxz297 mxz297 requested a review from sashanicolas May 12, 2021 22:21
@mxz297
Copy link
Member Author

mxz297 commented May 12, 2021

@hainest Since you are out next week, I would like to get this fixed this week. While Sasha is reviewing my change, can you also get it a test suite run?

@hainest hainest self-assigned this May 13, 2021
@hainest hainest added the Symtab This issue is directly related to SymtabAPI label May 13, 2021
@hainest
Copy link
Contributor

hainest commented May 14, 2021

@mxz297
Copy link
Member Author

mxz297 commented May 14, 2021

@sashanicolas Do you have concern on merging this PR?

@sashanicolas
Copy link
Contributor

Looks good.

@hainest hainest merged commit b3504b6 into master May 14, 2021
@mxz297 mxz297 deleted the catch_block_fix branch May 15, 2021 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Symtab This issue is directly related to SymtabAPI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dyninst-11.0 regression on parsing blocks that catch exceptions
3 participants