已开启
fix null pointer dereference in ohos.file.backup.impl.cpp #2263
dongtingchi创建于 23 天前
fix null pointer dereference in ohos.file.backup.impl.cpp #2263
已开启
共 1 个文件变更+150-0
| @@ -102,6 +102,10 @@ public: | |||
| 102 | if (callbackRef_) | 102 | if (callbackRef_) |
| 103 | { | 103 | { |
| 104 | ani_env *env = taihe::get_env(); | 104 | ani_env *env = taihe::get_env(); |
| 105 | + if (env == nullptr) { | ||
| 106 | + HILOGE("ani_env is nullptr"); | ||
| 107 | + return; | ||
| 108 | + } | ||
| 105 | ani_status status = ANI_OK; | 109 | ani_status status = ANI_OK; |
| 106 | status = env->GlobalReference_Delete(callbackRef_); | 110 | status = env->GlobalReference_Delete(callbackRef_); |
| 107 | if (ANI_OK != status) | 111 | if (ANI_OK != status) |
| @@ -124,6 +128,11 @@ public: | |||
| 124 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 128 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 125 | return data; | 129 | return data; |
| 126 | } | 130 | } |
| 131 | + if (!bSessionBackup) { | ||
| 132 | + HILOGE("bSessionBackup is nullptr"); | ||
| 133 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), "bSessionBackup is nullptr"); | ||
| 134 | + return data; | ||
| 135 | + } | ||
| 127 | auto fd = std::make_shared<UniqueFd>(); | 136 | auto fd = std::make_shared<UniqueFd>(); |
| 128 | *fd = bSessionBackup->GetLocalCapabilities(); | 137 | *fd = bSessionBackup->GetLocalCapabilities(); |
| 129 | data.fd = fd->Release(); | 138 | data.fd = fd->Release(); |
| @@ -141,6 +150,11 @@ public: | |||
| 141 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 150 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 142 | return; | 151 | return; |
| 143 | } | 152 | } |
| 153 | + if (!bSessionBackup) { | ||
| 154 | + HILOGE("bSessionBackup is nullptr"); | ||
| 155 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), "bSessionBackup is nullptr"); | ||
| 156 | + return; | ||
| 157 | + } | ||
| 144 | std::vector<BIncrementalData> bundleNames; | 158 | std::vector<BIncrementalData> bundleNames; |
| 145 | ::taihe::array<::ohos::file::backup::IncrementalBackupTime> dataListTemp(dataList); | 159 | ::taihe::array<::ohos::file::backup::IncrementalBackupTime> dataListTemp(dataList); |
| 146 | for (auto it = dataListTemp.begin(); it != dataListTemp.end(); ++it) | 160 | for (auto it = dataListTemp.begin(); it != dataListTemp.end(); ++it) |
| @@ -165,6 +179,11 @@ public: | |||
| 165 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 179 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 166 | return; | 180 | return; |
| 167 | } | 181 | } |
| 182 | + if (!bSessionBackup) { | ||
| 183 | + HILOGE("bSessionBackup is nullptr"); | ||
| 184 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), "bSessionBackup is nullptr"); | ||
| 185 | + return; | ||
| 186 | + } | ||
| 168 | std::vector<std::string> bundleNames; | 187 | std::vector<std::string> bundleNames; |
| 169 | std::vector<std::string> bundleInfos; | 188 | std::vector<std::string> bundleInfos; |
| 170 | ::taihe::array<::taihe::string> bundles(bundlesToBackup); | 189 | ::taihe::array<::taihe::string> bundles(bundlesToBackup); |
| @@ -196,6 +215,11 @@ public: | |||
| 196 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 215 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 197 | return; | 216 | return; |
| 198 | } | 217 | } |
| 218 | + if (!bSessionBackup) { | ||
| 219 | + HILOGE("bSessionBackup is nullptr"); | ||
| 220 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), "bSessionBackup is nullptr"); | ||
| 221 | + return; | ||
| 222 | + } | ||
| 199 | 223 | ||
| 200 | std::vector<std::string> bundleNames; | 224 | std::vector<std::string> bundleNames; |
| 201 | ::taihe::array<::taihe::string> bundles(bundlesToBackup); | 225 | ::taihe::array<::taihe::string> bundles(bundlesToBackup); |
| @@ -218,6 +242,11 @@ public: | |||
| 218 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 242 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 219 | return; | 243 | return; |
| 220 | } | 244 | } |
| 245 | + if (!bSessionBackup) { | ||
| 246 | + HILOGE("bSessionBackup is nullptr"); | ||
| 247 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), "bSessionBackup is nullptr"); | ||
| 248 | + return; | ||
| 249 | + } | ||
| 221 | bSessionBackup->Release(); | 250 | bSessionBackup->Release(); |
| 222 | } | 251 | } |
| 223 | 252 | ||
| @@ -233,6 +262,11 @@ public: | |||
| 233 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 262 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 234 | return result; | 263 | return result; |
| 235 | } | 264 | } |
| 265 | + if (!bSessionBackup) { | ||
| 266 | + HILOGE("bSessionBackup is nullptr"); | ||
| 267 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), "bSessionBackup is nullptr"); | ||
| 268 | + return result; | ||
| 269 | + } | ||
| 236 | result = bSessionBackup->Cancel(std::string(bundleName)); | 270 | result = bSessionBackup->Cancel(std::string(bundleName)); |
| 237 | return result; | 271 | return result; |
| 238 | } | 272 | } |
| @@ -249,6 +283,11 @@ public: | |||
| 249 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 283 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 250 | return result; | 284 | return result; |
| 251 | } | 285 | } |
| 286 | + if (!bSessionBackup) { | ||
| 287 | + HILOGE("bSessionBackup is nullptr"); | ||
| 288 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), "bSessionBackup is nullptr"); | ||
| 289 | + return result; | ||
| 290 | + } | ||
| 252 | ErrCode code = bSessionBackup->CleanBundleTempDir(std::string(bundleName)); | 291 | ErrCode code = bSessionBackup->CleanBundleTempDir(std::string(bundleName)); |
| 253 | if (BError(BError::Codes::OK) == code) | 292 | if (BError(BError::Codes::OK) == code) |
| 254 | { | 293 | { |
| @@ -270,6 +309,11 @@ public: | |||
| 270 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 309 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 271 | return ::taihe::string(""); | 310 | return ::taihe::string(""); |
| 272 | } | 311 | } |
| 312 | + if (!bSessionBackup) { | ||
| 313 | + HILOGE("bSessionBackup is nullptr"); | ||
| 314 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), "bSessionBackup is nullptr"); | ||
| 315 | + return ::taihe::string(""); | ||
| 316 | + } | ||
| 273 | std::string bundleNameTemp(bundleName); | 317 | std::string bundleNameTemp(bundleName); |
| 274 | std::string exInfoTemp(extInfo); | 318 | std::string exInfoTemp(extInfo); |
| 275 | auto compatInfo = std::make_shared<std::string>(); | 319 | auto compatInfo = std::make_shared<std::string>(); |
| @@ -339,6 +383,10 @@ public: | |||
| 339 | if (callbackRef_) | 383 | if (callbackRef_) |
| 340 | { | 384 | { |
| 341 | ani_env *env = taihe::get_env(); | 385 | ani_env *env = taihe::get_env(); |
| 386 | + if (env == nullptr) { | ||
| 387 | + HILOGE("ani_env is nullptr"); | ||
| 388 | + return; | ||
| 389 | + } | ||
| 342 | ani_status status = ANI_OK; | 390 | ani_status status = ANI_OK; |
| 343 | status = env->GlobalReference_Delete(callbackRef_); | 391 | status = env->GlobalReference_Delete(callbackRef_); |
| 344 | if (ANI_OK != status) | 392 | if (ANI_OK != status) |
| @@ -361,6 +409,12 @@ public: | |||
| 361 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 409 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 362 | return data; | 410 | return data; |
| 363 | } | 411 | } |
| 412 | + if (!bIncrementalRestoreSession) { | ||
| 413 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 414 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 415 | + "bIncrementalRestoreSession is nullptr"); | ||
| 416 | + return data; | ||
| 417 | + } | ||
| 364 | auto fd = make_shared<UniqueFd>(); | 418 | auto fd = make_shared<UniqueFd>(); |
| 365 | *fd = bIncrementalRestoreSession->GetLocalCapabilities(); | 419 | *fd = bIncrementalRestoreSession->GetLocalCapabilities(); |
| 366 | data.fd = fd->Release(); | 420 | data.fd = fd->Release(); |
| @@ -379,6 +433,12 @@ public: | |||
| 379 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 433 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 380 | return; | 434 | return; |
| 381 | } | 435 | } |
| 436 | + if (!bIncrementalRestoreSession) { | ||
| 437 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 438 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 439 | + "bIncrementalRestoreSession is nullptr"); | ||
| 440 | + return; | ||
| 441 | + } | ||
| 382 | 442 | ||
| 383 | std::vector<std::string> bundleNames; | 443 | std::vector<std::string> bundleNames; |
| 384 | std::vector<std::string> bundleInfos; | 444 | std::vector<std::string> bundleInfos; |
| @@ -412,6 +472,12 @@ public: | |||
| 412 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 472 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 413 | return; | 473 | return; |
| 414 | } | 474 | } |
| 475 | + if (!bIncrementalRestoreSession) { | ||
| 476 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 477 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 478 | + "bIncrementalRestoreSession is nullptr"); | ||
| 479 | + return; | ||
| 480 | + } | ||
| 415 | 481 | ||
| 416 | std::vector<std::string> bundleNames; | 482 | std::vector<std::string> bundleNames; |
| 417 | ::taihe::array<::taihe::string> bundles(bundlesToBackup); | 483 | ::taihe::array<::taihe::string> bundles(bundlesToBackup); |
| @@ -434,6 +500,12 @@ public: | |||
| 434 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 500 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 435 | return; | 501 | return; |
| 436 | } | 502 | } |
| 503 | + if (!bIncrementalRestoreSession) { | ||
| 504 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 505 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 506 | + "bIncrementalRestoreSession is nullptr"); | ||
| 507 | + return; | ||
| 508 | + } | ||
| 437 | 509 | ||
| 438 | std::string bundleName(fileMeta.bundleName); | 510 | std::string bundleName(fileMeta.bundleName); |
| 439 | std::string fileName(fileMeta.uri); | 511 | std::string fileName(fileMeta.uri); |
| @@ -454,6 +526,12 @@ public: | |||
| 454 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 526 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 455 | return; | 527 | return; |
| 456 | } | 528 | } |
| 529 | + if (!bIncrementalRestoreSession) { | ||
| 530 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 531 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 532 | + "bIncrementalRestoreSession is nullptr"); | ||
| 533 | + return; | ||
| 534 | + } | ||
| 457 | 535 | ||
| 458 | std::string bundleName(fileMeta.bundleName); | 536 | std::string bundleName(fileMeta.bundleName); |
| 459 | std::string fileName(fileMeta.uri); | 537 | std::string fileName(fileMeta.uri); |
| @@ -471,6 +549,12 @@ public: | |||
| 471 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 549 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 472 | return; | 550 | return; |
| 473 | } | 551 | } |
| 552 | + if (!bIncrementalRestoreSession) { | ||
| 553 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 554 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 555 | + "bIncrementalRestoreSession is nullptr"); | ||
| 556 | + return; | ||
| 557 | + } | ||
| 474 | bIncrementalRestoreSession->Release(); | 558 | bIncrementalRestoreSession->Release(); |
| 475 | } | 559 | } |
| 476 | 560 | ||
| @@ -486,6 +570,12 @@ public: | |||
| 486 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 570 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 487 | return 0; | 571 | return 0; |
| 488 | } | 572 | } |
| 573 | + if (!bIncrementalRestoreSession) { | ||
| 574 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 575 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 576 | + "bIncrementalRestoreSession is nullptr"); | ||
| 577 | + return 0; | ||
| 578 | + } | ||
| 489 | result = bIncrementalRestoreSession->Cancel(std::string(bundleName)); | 579 | result = bIncrementalRestoreSession->Cancel(std::string(bundleName)); |
| 490 | return result; | 580 | return result; |
| 491 | } | 581 | } |
| @@ -502,6 +592,12 @@ public: | |||
| 502 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 592 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 503 | return result; | 593 | return result; |
| 504 | } | 594 | } |
| 595 | + if (!bIncrementalRestoreSession) { | ||
| 596 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 597 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 598 | + "bIncrementalRestoreSession is nullptr"); | ||
| 599 | + return result; | ||
| 600 | + } | ||
| 505 | ErrCode code = bIncrementalRestoreSession->CleanBundleTempDir(std::string(bundleName)); | 601 | ErrCode code = bIncrementalRestoreSession->CleanBundleTempDir(std::string(bundleName)); |
| 506 | if (BError(BError::Codes::OK) == code) | 602 | if (BError(BError::Codes::OK) == code) |
| 507 | { | 603 | { |
| @@ -523,6 +619,12 @@ public: | |||
| 523 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 619 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 524 | return ::taihe::string(""); | 620 | return ::taihe::string(""); |
| 525 | } | 621 | } |
| 622 | + if (!bIncrementalRestoreSession) { | ||
| 623 | + HILOGE("bIncrementalRestoreSession is nullptr"); | ||
| 624 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 625 | + "bIncrementalRestoreSession is nullptr"); | ||
| 626 | + return ::taihe::string(""); | ||
| 627 | + } | ||
| 526 | std::string bundleNameTemp(bundleName); | 628 | std::string bundleNameTemp(bundleName); |
| 527 | std::string exInfoTemp(extInfo); | 629 | std::string exInfoTemp(extInfo); |
| 528 | auto compatInfo = std::make_shared<std::string>(); | 630 | auto compatInfo = std::make_shared<std::string>(); |
| @@ -602,6 +704,12 @@ public: | |||
| 602 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 704 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 603 | return data; | 705 | return data; |
| 604 | } | 706 | } |
| 707 | + if (!bIncrementalBackupSession) { | ||
| 708 | + HILOGE("bIncrementalBackupSession is nullptr"); | ||
| 709 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 710 | + "bIncrementalBackupSession is nullptr"); | ||
| 711 | + return data; | ||
| 712 | + } | ||
| 605 | auto fd = make_shared<UniqueFd>(); | 713 | auto fd = make_shared<UniqueFd>(); |
| 606 | *fd = bIncrementalBackupSession->GetLocalCapabilities(); | 714 | *fd = bIncrementalBackupSession->GetLocalCapabilities(); |
| 607 | HILOGE("UniqueFd.fd = %{public}d", fd->Get()); | 715 | HILOGE("UniqueFd.fd = %{public}d", fd->Get()); |
| @@ -621,6 +729,12 @@ public: | |||
| 621 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 729 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 622 | return; | 730 | return; |
| 623 | } | 731 | } |
| 732 | + if (!bIncrementalBackupSession) { | ||
| 733 | + HILOGE("bIncrementalBackupSession is nullptr"); | ||
| 734 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 735 | + "bIncrementalBackupSession is nullptr"); | ||
| 736 | + return; | ||
| 737 | + } | ||
| 624 | std::vector<BIncrementalData> bundleNames; | 738 | std::vector<BIncrementalData> bundleNames; |
| 625 | ::taihe::array<::ohos::file::backup::IncrementalBackupTime> dataListTemp(dataList); | 739 | ::taihe::array<::ohos::file::backup::IncrementalBackupTime> dataListTemp(dataList); |
| 626 | for (auto it = dataListTemp.begin(); it != dataListTemp.end(); ++it) | 740 | for (auto it = dataListTemp.begin(); it != dataListTemp.end(); ++it) |
| @@ -644,6 +758,12 @@ public: | |||
| 644 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 758 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 645 | return; | 759 | return; |
| 646 | } | 760 | } |
| 761 | + if (!bIncrementalBackupSession) { | ||
| 762 | + HILOGE("bIncrementalBackupSession is nullptr"); | ||
| 763 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 764 | + "bIncrementalBackupSession is nullptr"); | ||
| 765 | + return; | ||
| 766 | + } | ||
| 647 | std::vector<BIncrementalData> backupBundles; | 767 | std::vector<BIncrementalData> backupBundles; |
| 648 | std::vector<std::string> bundleInfos; | 768 | std::vector<std::string> bundleInfos; |
| 649 | ::taihe::array<::ohos::file::backup::IncrementalBackupData> bundles(bundlesToBackup); | 769 | ::taihe::array<::ohos::file::backup::IncrementalBackupData> bundles(bundlesToBackup); |
| @@ -679,6 +799,12 @@ public: | |||
| 679 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 799 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 680 | return; | 800 | return; |
| 681 | } | 801 | } |
| 802 | + if (!bIncrementalBackupSession) { | ||
| 803 | + HILOGE("bIncrementalBackupSession is nullptr"); | ||
| 804 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 805 | + "bIncrementalBackupSession is nullptr"); | ||
| 806 | + return; | ||
| 807 | + } | ||
| 682 | std::vector<BIncrementalData> backupBundles; | 808 | std::vector<BIncrementalData> backupBundles; |
| 683 | std::vector<std::string> bundleInfos; | 809 | std::vector<std::string> bundleInfos; |
| 684 | ::taihe::array<::ohos::file::backup::IncrementalBackupData> bundles(bundlesToBackup); | 810 | ::taihe::array<::ohos::file::backup::IncrementalBackupData> bundles(bundlesToBackup); |
| @@ -720,6 +846,12 @@ public: | |||
| 720 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 846 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 721 | return; | 847 | return; |
| 722 | } | 848 | } |
| 849 | + if (!bIncrementalBackupSession) { | ||
| 850 | + HILOGE("bIncrementalBackupSession is nullptr"); | ||
| 851 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 852 | + "bIncrementalBackupSession is nullptr"); | ||
| 853 | + return; | ||
| 854 | + } | ||
| 723 | bIncrementalBackupSession->Release(); | 855 | bIncrementalBackupSession->Release(); |
| 724 | } | 856 | } |
| 725 | 857 | ||
| @@ -735,6 +867,12 @@ public: | |||
| 735 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 867 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 736 | return SYSTEM_PERMISSION; | 868 | return SYSTEM_PERMISSION; |
| 737 | } | 869 | } |
| 870 | + if (!bIncrementalBackupSession) { | ||
| 871 | + HILOGE("bIncrementalBackupSession is nullptr"); | ||
| 872 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 873 | + "bIncrementalBackupSession is nullptr"); | ||
| 874 | + return BACKUP_PERMISSION; | ||
| 875 | + } | ||
| 738 | result = bIncrementalBackupSession->Cancel(std::string(bundleName)); | 876 | result = bIncrementalBackupSession->Cancel(std::string(bundleName)); |
| 739 | return result; | 877 | return result; |
| 740 | } | 878 | } |
| @@ -751,6 +889,12 @@ public: | |||
| 751 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 889 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 752 | return result; | 890 | return result; |
| 753 | } | 891 | } |
| 892 | + if (!bIncrementalBackupSession) { | ||
| 893 | + HILOGE("bIncrementalBackupSession is nullptr"); | ||
| 894 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 895 | + "bIncrementalBackupSession is nullptr"); | ||
| 896 | + return result; | ||
| 897 | + } | ||
| 754 | ErrCode code = bIncrementalBackupSession->CleanBundleTempDir(std::string(bundleName)); | 898 | ErrCode code = bIncrementalBackupSession->CleanBundleTempDir(std::string(bundleName)); |
| 755 | if (BError(BError::Codes::OK) == code) | 899 | if (BError(BError::Codes::OK) == code) |
| 756 | { | 900 | { |
| @@ -772,6 +916,12 @@ public: | |||
| 772 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); | 916 | ::taihe::set_business_error(SYSTEM_PERMISSION, "IsSystemApp error"); |
| 773 | return ::taihe::string(""); | 917 | return ::taihe::string(""); |
| 774 | } | 918 | } |
| 919 | + if (!bIncrementalBackupSession) { | ||
| 920 | + HILOGE("bIncrementalBackupSession is nullptr"); | ||
| 921 | + ::taihe::set_business_error(static_cast<int32_t>(BError::Codes::SA_INVAL_ARG), | ||
| 922 | + "bIncrementalBackupSession is nullptr"); | ||
| 923 | + return ::taihe::string(""); | ||
| 924 | + } | ||
| 775 | std::string bundleNameTemp(bundleName); | 925 | std::string bundleNameTemp(bundleName); |
| 776 | std::string exInfoTemp(extInfo); | 926 | std::string exInfoTemp(extInfo); |
| 777 | auto compatInfo = std::make_shared<std::string>(); | 927 | auto compatInfo = std::make_shared<std::string>(); |