fix some bugs that may cause segment fault or crash #17
Open
clingfei wants to merge 5 commits intoARISTODE:mainfrom
Open
fix some bugs that may cause segment fault or crash #17clingfei wants to merge 5 commits intoARISTODE:mainfrom
clingfei wants to merge 5 commits intoARISTODE:mainfrom
Conversation
Owner
|
Thanks a lot for the in-depth code review! Could you maybe provide the code you tested (or provide a link to the tested repo)? I would need to verify the fixes and will merge the pull request after that. |
Author
|
Thanks for review! I have added the test code to https://github.com/clingfei/test_repo.
…------------------ 原始邮件 ------------------
发件人: "ARISTODE/program-dependence-graph" ***@***.***>;
发送时间: 2023年4月8日(星期六) 晚上11:36
***@***.***>;
***@***.******@***.***>;
主题: Re: [ARISTODE/program-dependence-graph] fix some bugs that may cause segment fault or crash (PR #17)
Thanks a lot for the in-depth code review! Could you maybe provide the code you tested (or provide a link to the tested repo)? I would need to verify the fixes and will merge the pull request after that.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pdg::TreeNode::TreeNode(const TreeNode &tree_node), but its _parent_node field remains uninitialized. While inexpandNode(), new_child_node will callcomputeDerivedAddrVarsFromParent(), in which may access root_node's parent_node throughgetParentNode(), while root_node's parent_node is still uninitialized, if its value is illegal, when use it as pointer, such asgrand_parent_node->getAddrVars(), there will be a segment fault.pdg::ProgramDependencyGraph::connectInterprocDependencies, for indirect calls, the number of nodes for caller's ret_actual_in_tree and callee's ret_formal_in_tree may unequal, which will causeassert(src->numOfChild() == dst->numOfChild());inpdg::ProgramDependencyGraph::connectInTreesfailed, so for each indirectCallCandidate, check the number of tree nodes before callconnectCallerAndCallee, only when callee's nodes equals to caller's nodes, callee can be indeed indirectCallCandidate