Fix static analysis issue
authorIlho Kim <ilho159.kim@samsung.com>
Mon, 15 Feb 2021 04:02:41 +0000 (13:02 +0900)
committer김일호/Tizen Platform Lab(SR)/Engineer/삼성전자 <ilho159.kim@samsung.com>
Tue, 16 Feb 2021 09:22:33 +0000 (18:22 +0900)
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
src/common/parcel/abstract_parcelable.cc
src/common/parcel/abstract_parcelable.hh
src/common/parcel/certinfo_parcelable.cc
src/common/parcel/certinfo_parcelable.hh
src/common/parcel/filter_parcelable.cc
src/common/parcel/filter_parcelable.hh
test/unit_tests/parcel_utils.cc
test/unit_tests/test_parcel.cc

index 7f8c4a5..756e4e9 100644 (file)
@@ -58,7 +58,7 @@ uid_t AbstractParcelable::GetUid() { return uid_; }
 
 void AbstractParcelable::SetUid(uid_t uid) { uid_ = uid; }
 
-ReqType AbstractParcelable::GetReqType() { return req_type_; }
+ParcelableType AbstractParcelable::GetType() { return type_; }
 
 }  // namespace parcel
 }  // namespace pkgmgr_common
index 64b1d25..01c1f3e 100644 (file)
@@ -15,6 +15,17 @@ namespace parcel {
 #define EXPORT_API __attribute__((visibility("default")))
 #endif
 
+enum ParcelableType {
+  Unknown = -1,
+  AppCtrlPrivInfo,
+  AppInfo,
+  CertInfo,
+  DataCtrlInfo,
+  Filter,
+  PkgInfo,
+  String,
+};
+
 class EXPORT_API AbstractParcelable : public tizen_base::Parcelable {
  public:
   class EXPORT_API IFactory {
@@ -22,12 +33,13 @@ class EXPORT_API AbstractParcelable : public tizen_base::Parcelable {
     virtual std::unique_ptr<AbstractParcelable> CreateParcel(std::vector<unsigned char> data) = 0;
   };
 
-  AbstractParcelable() : uid_(0), req_type_(ReqType::GET_APP_INFO) {}
+  AbstractParcelable() : uid_(0), type_(ParcelableType::Unknown) {}
+  AbstractParcelable(uid_t uid, ParcelableType type) : uid_(uid), type_(type) {}
 
   virtual ~AbstractParcelable();
   uid_t GetUid();
   void SetUid(uid_t uid);
-  ReqType GetReqType();
+  ParcelableType GetType();
 
  protected:
   bool ReadString(tizen_base::Parcel* parcel, char **val);
@@ -37,7 +49,7 @@ class EXPORT_API AbstractParcelable : public tizen_base::Parcelable {
 
  private:
   uid_t uid_;
-  ReqType req_type_;
+  ParcelableType type_;
 };
 
 }  // namespace parcel
index b8f231e..776f664 100644 (file)
@@ -23,8 +23,9 @@
 namespace pkgmgr_common {
 namespace parcel {
 
-CertInfoParcelable::CertInfoParcelable(pkgmgr_certinfo_x *cert_info)
-    : cert_info_(cert_info) {}
+CertInfoParcelable::CertInfoParcelable(uid_t uid, pkgmgr_certinfo_x *cert_info)
+    : AbstractParcelable(uid, ParcelableType::CertInfo),
+        cert_info_(cert_info) {}
 
 CertInfoParcelable::~CertInfoParcelable() {
   pkgmgrinfo_pkginfo_destroy_certinfo(cert_info_);
index 43d8f69..b456099 100644 (file)
@@ -21,8 +21,8 @@ class EXPORT_API CertInfoParcelable : public AbstractParcelable {
     std::unique_ptr<AbstractParcelable> CreateParcel();
   };
 
-  CertInfoParcelable() = default;
-  CertInfoParcelable(pkgmgr_certinfo_x *cert_info);
+  CertInfoParcelable() : cert_info_(nullptr) {}
+  CertInfoParcelable(uid_t uid, pkgmgr_certinfo_x *cert_info);
   ~CertInfoParcelable();
   const pkgmgr_certinfo_x *GetCertInfo();
 
index 01380b6..c2965c8 100644 (file)
@@ -25,8 +25,9 @@
 namespace pkgmgr_common {
 namespace parcel {
 
-FilterParcelable::FilterParcelable(pkgmgrinfo_filter_x *filter, int flag)
-    : filter_(filter), flag_(flag) {}
+FilterParcelable::FilterParcelable(uid_t uid, pkgmgrinfo_filter_x *filter,
+    int flag) : AbstractParcelable(uid, ParcelableType::Filter),
+        filter_(filter), flag_(flag) {}
 
 FilterParcelable::~FilterParcelable() {
   pkgmgrinfo_pkginfo_filter_destroy(filter_);
index 7bd4d6e..277153d 100644 (file)
@@ -21,8 +21,8 @@ class EXPORT_API FilterParcelable : public AbstractParcelable {
     std::unique_ptr<AbstractParcelable> CreateParcel();
   };
 
-  FilterParcelable() = default;
-  FilterParcelable(pkgmgrinfo_filter_x *filter, int flag);
+  FilterParcelable() : uid_(0), filter_(nullptr), flag_(0) {}
+  FilterParcelable(uid_t uid, pkgmgrinfo_filter_x *filter, int flag);
   ~FilterParcelable();
   const pkgmgrinfo_filter_x* GetFilter();
   int GetFlag();
index ffec25e..8401e3d 100644 (file)
@@ -286,8 +286,7 @@ bool IsEqualApplication(application_x *applicationA,
     STR_EQ(datacontrol_a->trusted, datacontrol_b->trusted);
     STR_EQ(datacontrol_a->type, datacontrol_b->type);
     INT_EQ(g_list_length(datacontrol_a->privileges)
-        , g_list_length(datacontrol_b->privileges))
-      return false;
+        , g_list_length(datacontrol_b->privileges));
     for (GList *a = datacontrol_a->privileges, *b = datacontrol_b->privileges;
         a && b; a = a->next, b = b->next) {
       char *privilege_a = reinterpret_cast<char *>(a->data);
@@ -317,8 +316,7 @@ bool IsEqualApplication(application_x *applicationA,
     STR_EQ(appcontrol_a->uri, appcontrol_b->uri);
     STR_EQ(appcontrol_a->visibility, appcontrol_b->visibility);
     INT_EQ(g_list_length(appcontrol_a->privileges)
-        , g_list_length(appcontrol_b->privileges))
-      return false;
+        , g_list_length(appcontrol_b->privileges));
     for (GList *a = appcontrol_a->privileges, *b = appcontrol_b->privileges;
         a && b; a = a->next, b = b->next) {
       char *privilege_a = reinterpret_cast<char *>(a->data);
@@ -650,21 +648,15 @@ pkgmgrinfo_filter_x *GetTestFilter() {
 
 bool IsEqualFilter(const pkgmgrinfo_filter_x *filterA,
     const pkgmgrinfo_filter_x *filterB) {
-  std::cout << "asdfasdf" << std::endl;
   INT_EQ(filterA->uid, filterB->uid);
 
-  std::cout << "asdfasdf" << std::endl;
   INT_EQ(g_slist_length(filterA->list), g_slist_length(filterB->list));
-  std::cout << "asdfasdf" << std::endl;
   for (GSList *a = filterA->list, *b = filterB->list;
       a && b; a = a->next, b = b->next) {
     pkgmgrinfo_node_x *node_a = reinterpret_cast<pkgmgrinfo_node_x *>(a->data);
     pkgmgrinfo_node_x *node_b = reinterpret_cast<pkgmgrinfo_node_x *>(b->data);
-  std::cout << "aaaaa" << std::endl;
     INT_EQ(node_a->prop, node_b->prop);
-  std::cout << "aaaaa" << std::endl;
     STR_EQ(node_a->key, node_b->key);
-  std::cout << "aaaaa" << std::endl;
     STR_EQ(node_a->value, node_b->value);
   }
 
@@ -673,11 +665,8 @@ bool IsEqualFilter(const pkgmgrinfo_filter_x *filterA,
       a && b; a = a->next, b = b->next) {
     pkgmgrinfo_metadata_node_x *node_a = reinterpret_cast<pkgmgrinfo_metadata_node_x *>(a->data);
     pkgmgrinfo_metadata_node_x *node_b = reinterpret_cast<pkgmgrinfo_metadata_node_x *>(b->data);
-  std::cout << "bbbbbb" << std::endl;
     STR_EQ(node_a->key, node_b->key);
-  std::cout << "bbbbbb" << std::endl;
     STR_EQ(node_a->value, node_b->value);
-  std::cout << "bbbbbb" << std::endl;
   }
 }
 
index 9678711..b4beaa8 100644 (file)
@@ -47,7 +47,8 @@ class AbstractParcelableTest : public pp::AbstractParcelable {
       c_ = strdup(c);
   }
 
-  AbstractParcelableTest() : AbstractParcelable() {}
+  AbstractParcelableTest() : AbstractParcelable(),
+      a_(nullptr), b_(nullptr), c_(nullptr) {}
 
   ~AbstractParcelableTest() {
     if (a_)
@@ -147,7 +148,7 @@ TEST_F(ParcelTest, FilterParcelable) {
   pkgmgrinfo_filter_x *filter = GetTestFilter();
   int flag = 0b101010;
 
-  pp::FilterParcelable origin_parcelable(filter, flag);
+  pp::FilterParcelable origin_parcelable(0, filter, flag);
   pp::FilterParcelable new_parcelable;
   parcel.WriteParcelable(origin_parcelable);
   parcel.ReadParcelable(&new_parcelable);
@@ -161,7 +162,7 @@ TEST_F(ParcelTest, CertInfoParcelable) {
   tizen_base::Parcel parcel;
   pkgmgr_certinfo_x *certinfo = GetTestCertInfo();
 
-  pp::CertInfoParcelable origin_parcelable(certinfo);
+  pp::CertInfoParcelable origin_parcelable(0, certinfo);
   pp::CertInfoParcelable new_parcelable;
   parcel.WriteParcelable(origin_parcelable);
   parcel.ReadParcelable(&new_parcelable);