Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jadx
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open-source
jadx
Commits
412a185f
Commit
412a185f
authored
May 01, 2018
by
Skylot
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
core: fix null pointer error in try/catch processing
parent
20bfe838
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
5 deletions
+10
-5
ProcessTryCatchRegions.java
...adx/core/dex/visitors/regions/ProcessTryCatchRegions.java
+10
-5
No files found.
jadx-core/src/main/java/jadx/core/dex/visitors/regions/ProcessTryCatchRegions.java
View file @
412a185f
...
@@ -72,10 +72,13 @@ public class ProcessTryCatchRegions extends AbstractRegionVisitor {
...
@@ -72,10 +72,13 @@ public class ProcessTryCatchRegions extends AbstractRegionVisitor {
}
}
BitSet
bs
=
new
BitSet
(
mth
.
getBasicBlocks
().
size
());
BitSet
bs
=
new
BitSet
(
mth
.
getBasicBlocks
().
size
());
for
(
ExceptionHandler
excHandler
:
tb
.
getHandlers
())
{
for
(
ExceptionHandler
excHandler
:
tb
.
getHandlers
())
{
SplitterBlockAttr
splitter
=
excHandler
.
getHandlerBlock
().
get
(
AType
.
SPLITTER_BLOCK
);
BlockNode
handlerBlock
=
excHandler
.
getHandlerBlock
();
if
(
splitter
!=
null
)
{
if
(
handlerBlock
!=
null
)
{
BlockNode
block
=
splitter
.
getBlock
();
SplitterBlockAttr
splitter
=
handlerBlock
.
get
(
AType
.
SPLITTER_BLOCK
);
bs
.
set
(
block
.
getId
());
if
(
splitter
!=
null
)
{
BlockNode
block
=
splitter
.
getBlock
();
bs
.
set
(
block
.
getId
());
}
}
}
}
}
List
<
BlockNode
>
domBlocks
=
BlockUtils
.
bitSetToBlocks
(
mth
,
bs
);
List
<
BlockNode
>
domBlocks
=
BlockUtils
.
bitSetToBlocks
(
mth
,
bs
);
...
@@ -164,7 +167,9 @@ public class ProcessTryCatchRegions extends AbstractRegionVisitor {
...
@@ -164,7 +167,9 @@ public class ProcessTryCatchRegions extends AbstractRegionVisitor {
private
static
boolean
isHandlerPath
(
TryCatchBlock
tb
,
IContainer
cont
)
{
private
static
boolean
isHandlerPath
(
TryCatchBlock
tb
,
IContainer
cont
)
{
for
(
ExceptionHandler
h
:
tb
.
getHandlers
())
{
for
(
ExceptionHandler
h
:
tb
.
getHandlers
())
{
if
(
RegionUtils
.
hasPathThroughBlock
(
h
.
getHandlerBlock
(),
cont
))
{
BlockNode
handlerBlock
=
h
.
getHandlerBlock
();
if
(
handlerBlock
!=
null
&&
RegionUtils
.
hasPathThroughBlock
(
handlerBlock
,
cont
))
{
return
true
;
return
true
;
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment