diff options
author | Manuel Roman <manuelroman@google.com> | 2012-05-23 14:25:31 -0700 |
---|---|---|
committer | Manuel Roman <manuelroman@google.com> | 2012-05-23 14:25:31 -0700 |
commit | 9d98a089756b692eefeae7f92cca15e121196e0c (patch) | |
tree | 8e2f4095f1845d2e410ba5da75b4116bd8f75b25 /tools/aidl | |
parent | 993f8a8c6518ac7d623af487c1b20835149ab673 (diff) | |
download | frameworks_base-9d98a089756b692eefeae7f92cca15e121196e0c.zip frameworks_base-9d98a089756b692eefeae7f92cca15e121196e0c.tar.gz frameworks_base-9d98a089756b692eefeae7f92cca15e121196e0c.tar.bz2 |
Check result handler is not null
If caller passes a null result handler to the proxy methods, we need
to check it when getting the result. Otherwise we try to invoke a method
on a null object
Change-Id: Ic2f456c36cb542b782b6a6d0d4d607ccf0987496
Diffstat (limited to 'tools/aidl')
-rw-r--r-- | tools/aidl/generate_java_rpc.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/aidl/generate_java_rpc.cpp b/tools/aidl/generate_java_rpc.cpp index 2b50b76..21ebb1f 100644 --- a/tools/aidl/generate_java_rpc.cpp +++ b/tools/aidl/generate_java_rpc.cpp @@ -784,7 +784,10 @@ generate_result_dispatcher_method(const method_type* method, } // Call the callback method - dispatchMethod->statements->Add(realCall); + IfStatement* ifst = new IfStatement; + ifst->expression = new Comparison(new FieldVariable(THIS_VALUE, "callback"), "!=", NULL_VALUE); + dispatchMethod->statements->Add(ifst); + ifst->statements->Add(realCall); } static void |