Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cda9b2a5 authored by shaozhongqi's avatar shaozhongqi
Browse files

storaged:Thread out of sync will cause null pointer crash



if other process binder calls dumpPerfHistory when storaged is started, there will be a problem with the storage_sp null pointer

Test: Manual

Bug: 149251684

Change-Id: I9bf61ceb7c34326e95f2355129714d28153a994c
Signed-off-by: default avatarshaozhongqi <shaozhongqi@xiaomi.com>
parent cd8b982e
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -46,11 +46,6 @@ sp<storaged_t> storaged_sp;

// Function of storaged's main thread
void* storaged_main(void* /* unused */) {
    storaged_sp = new storaged_t();

    storaged_sp->init();
    storaged_sp->report_storage_info();

    LOG(INFO) << "storaged: Start";

    for (;;) {
@@ -123,6 +118,9 @@ int main(int argc, char** argv) {

    if (flag_main_service) { // start main thread
        // Start the main thread of storaged
        storaged_sp = new storaged_t();
        storaged_sp->init();
        storaged_sp->report_storage_info();
        pthread_t storaged_main_thread;
        errno = pthread_create(&storaged_main_thread, NULL, storaged_main, NULL);
        if (errno != 0) {