summaryrefslogtreecommitdiff
path: root/broadcastradio
diff options
context:
space:
mode:
authorJoshua Duong <joshuaduong@google.com>2019-12-04 08:06:54 -0800
committerJoshua Duong <joshuaduong@google.com>2019-12-04 10:39:14 -0800
commite951f2a6405ec220c428ca2a7f318b7f078d44db (patch)
tree6dd996920bf744a837333773cf337917569768bb /broadcastradio
parentbff764d944c1bd6d5d834027bd22dff303fcb309 (diff)
Fix stack-pointer constructed sp<>.
Seems like the hidl derived objects must be heap allocated. Bug: 145662746 Test: Does not boot loop. Change-Id: I55ff94c12d4eb5fcfd680370736db979ddd0b67c
Diffstat (limited to 'broadcastradio')
-rw-r--r--broadcastradio/1.1/default/service.cpp5
-rw-r--r--broadcastradio/2.0/default/service.cpp9
2 files changed, 8 insertions, 6 deletions
diff --git a/broadcastradio/1.1/default/service.cpp b/broadcastradio/1.1/default/service.cpp
index f8af0b78cb..29dc76fb10 100644
--- a/broadcastradio/1.1/default/service.cpp
+++ b/broadcastradio/1.1/default/service.cpp
@@ -20,6 +20,7 @@
#include "BroadcastRadioFactory.h"
+using android::sp;
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
using android::hardware::broadcastradio::V1_1::implementation::BroadcastRadioFactory;
@@ -27,8 +28,8 @@ using android::hardware::broadcastradio::V1_1::implementation::BroadcastRadioFac
int main(int /* argc */, char** /* argv */) {
configureRpcThreadpool(4, true);
- BroadcastRadioFactory broadcastRadioFactory;
- auto status = broadcastRadioFactory.registerAsService();
+ sp<BroadcastRadioFactory> broadcastRadioFactory(new BroadcastRadioFactory());
+ auto status = broadcastRadioFactory->registerAsService();
CHECK_EQ(status, android::OK) << "Failed to register Broadcast Radio HAL implementation";
joinRpcThreadpool();
diff --git a/broadcastradio/2.0/default/service.cpp b/broadcastradio/2.0/default/service.cpp
index 349aba28e0..bd746fd2f8 100644
--- a/broadcastradio/2.0/default/service.cpp
+++ b/broadcastradio/2.0/default/service.cpp
@@ -19,6 +19,7 @@
#include "BroadcastRadio.h"
#include "VirtualRadio.h"
+using android::sp;
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
using android::hardware::broadcastradio::V2_0::implementation::BroadcastRadio;
@@ -30,13 +31,13 @@ int main() {
android::base::SetMinimumLogSeverity(android::base::VERBOSE);
configureRpcThreadpool(4, true);
- BroadcastRadio broadcastRadio(gAmFmRadio);
- auto amFmStatus = broadcastRadio.registerAsService("amfm");
+ sp<BroadcastRadio> broadcastRadio(new BroadcastRadio(gAmFmRadio));
+ auto amFmStatus = broadcastRadio->registerAsService("amfm");
CHECK_EQ(amFmStatus, android::OK)
<< "Failed to register Broadcast Radio AM/FM HAL implementation";
- BroadcastRadio dabRadio(gDabRadio);
- auto dabStatus = dabRadio.registerAsService("dab");
+ sp<BroadcastRadio> dabRadio(new BroadcastRadio(gDabRadio));
+ auto dabStatus = dabRadio->registerAsService("dab");
CHECK_EQ(dabStatus, android::OK) << "Failed to register Broadcast Radio DAB HAL implementation";
joinRpcThreadpool();