bool GetAppinfoRequestHandler::HandleRequest(unsigned char* data, int size, std::string locale) {
auto abstract_parcel = ParcelableFactory::GetInst().CreateParcel(data, size);
- if (abstract_parcel->GetType() != ParcelableType::Filter)
+ if (abstract_parcel == nullptr || abstract_parcel->GetType() != ParcelableType::Filter)
return false;
auto* parcel = dynamic_cast<FilterParcelable*>(abstract_parcel.get());
+ if (parcel == nullptr)
+ return false;
AppInfoDBHandler db(parcel->GetUid());
db.SetLocale(locale);
bool GetCertRequestHandler::HandleRequest(unsigned char* data, int size, std::string locale) {
auto abstract_parcel = ParcelableFactory::GetInst().CreateParcel(data, size);
- if (abstract_parcel->GetType() != ParcelableType::CertInfo)
+ if (abstract_parcel == nullptr || abstract_parcel->GetType() != ParcelableType::CertInfo)
return false;
auto* parcel = dynamic_cast<CertInfoParcelable*>(abstract_parcel.get());
+ if (parcel == nullptr)
+ return false;
CertGetDBHandler db(parcel->GetUid());
db.SetLocale(locale);
bool GetPkginfoRequestHandler::HandleRequest(unsigned char* data, int size, std::string locale) {
auto abstract_parcel = ParcelableFactory::GetInst().CreateParcel(data, size);
- if (abstract_parcel->GetType() != ParcelableType::Filter)
+ if (abstract_parcel == nullptr || abstract_parcel->GetType() != ParcelableType::Filter)
return false;
auto* parcel = dynamic_cast<FilterParcelable*>(abstract_parcel.get());
+ if (parcel == nullptr)
+ return false;
PkgGetDBHandler db(parcel->GetUid());
db.SetLocale(locale);
bool QueryRequestHandler::HandleRequest(unsigned char* data, int size, std::string locale) {
auto abstract_parcel = ParcelableFactory::GetInst().CreateParcel(data, size);
- if (abstract_parcel->GetType() != ParcelableType::Query)
+ if (abstract_parcel == nullptr || abstract_parcel->GetType() != ParcelableType::Query)
return false;
auto* parcel = dynamic_cast<QueryParcelable*>(abstract_parcel.get());
+ if (parcel == nullptr)
+ return false;
QueryHandler db(parcel->GetUid());
db.SetLocale(locale);
bool SetCertRequestHandler::HandleRequest(unsigned char* data, int size, std::string locale) {
auto abstract_parcel = ParcelableFactory::GetInst().CreateParcel(data, size);
- if (abstract_parcel->GetType() != ParcelableType::CertInfo)
+ if (abstract_parcel == nullptr || abstract_parcel->GetType() != ParcelableType::CertInfo)
return false;
auto* parcel = dynamic_cast<CertInfoParcelable*>(abstract_parcel.get());
+ if (parcel == nullptr)
+ return false;
CertSetDBHandler db(parcel->GetUid());
db.SetLocale(locale);
bool SetPkginfoRequestHandler::HandleRequest(unsigned char* data, int size, std::string locale) {
auto abstract_parcel = ParcelableFactory::GetInst().CreateParcel(data, size);
- if (abstract_parcel->GetType() != ParcelableType::PkgInfo)
+ if (abstract_parcel == nullptr || abstract_parcel->GetType() != ParcelableType::PkgInfo)
return false;
auto* parcel = dynamic_cast<PkgInfoParcelable*>(abstract_parcel.get());
+ if (parcel == nullptr)
+ return false;
PkgSetDBHandler db(parcel->GetUid());
db.SetLocale(locale);