Add even more gcc 9 fixes after Wall enabling 94/222494/2
authorTomasz Swierczek <t.swierczek@samsung.com>
Wed, 15 Jan 2020 09:46:03 +0000 (10:46 +0100)
committerTomasz Swierczek <t.swierczek@samsung.com>
Fri, 17 Jan 2020 07:32:52 +0000 (08:32 +0100)
Needed to disable -Wcast-function-type for service-thread.h file only.
service-thread.h will require some fundamental rework later.

Change-Id: If9d13dfe8e3ae78ac658a140e9582130e98e2b6a

src/common/smack-rules.cpp
src/dpl/core/src/assert.cpp
src/server/main/include/service-thread.h
src/server/main/socket-manager.cpp

index 322256b381886f852e249cce2d8de5201fcc096b..7b422058cbc70d25ddadec43f548c50062cb1abb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2014-2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *  Copyright (c) 2014-2020 Samsung Electronics Co., Ltd All Rights Reserved
  *
  *  Contact: Rafal Krypa <r.krypa@samsung.com>
  *
@@ -135,7 +135,7 @@ void SmackRules::addFromTemplateFile(
 {
     try {
         addFromTemplate(ConfigFile(templatePath).read(), appProcessLabel, pkgName, authorId);
-    } catch (FS::Exception::Base) {
+    } catch (FS::Exception::Base &) {
         LogError("Error reading template file: " << templatePath);
         ThrowMsg(SmackException::FileError, "Error reading template file: " << templatePath);
     }
index 63538a2b64484dfd1bebd81f015cc11d9e762cf4..62b1a88779b768e90ff1b97e1bb91845360f13ee 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2011 - 2020 Samsung Electronics Co., Ltd All Rights Reserved
  *
  *    Licensed under the Apache License, Version 2.0 (the "License");
  *    you may not use this file except in compliance with the License.
@@ -58,7 +58,7 @@ void AssertProc(const char *condition,
         INTERNAL_LOG("### Function: " << function);
         INTERNAL_LOG(
             "################################################################################");
-    } catch (Exception) {
+    } catch (Exception &) {
         // Just ignore possible double errors
     }
 
index 2cf3fb5e946cce017262667ce8e0ca68c921e9c9..3abe21ca30c9ae2f694c942ef1036cd6f8ebd7bf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd All Rights Reserved
+ *  Copyright (c) 2000 - 2020 Samsung Electronics Co., Ltd All Rights Reserved
  *
  *  Contact: Rafal Krypa <r.krypa@samsung.com>
  *
 
 namespace SecurityManager {
 
+// TODO rewrite the EventDescription structure and its members handling.
+// service-thread.h event handling needs re-work for gcc 8+, now keeping it as-is.
+// Especially the ugly function typecast in line 143...
+#if __GNUC__ >= 8
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-function-type"
+#endif
+
 template <class Service>
 class ServiceThread {
 public:
@@ -176,4 +184,8 @@ protected:
     bool m_quit;
 };
 
+#if __GNUC__ >= 8
+#pragma GCC diagnostic pop
+#endif
+
 } // namespace SecurityManager
index 27daf7d18f0092fab4877d84762923587c80d7e7..99befa5ef504854ff8778c66a4c827389005a0d5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2000-2019 Samsung Electronics Co., Ltd. All rights reserved
+ *  Copyright (c) 2000-2020 Samsung Electronics Co., Ltd. All rights reserved
  *
  *  Contact: Rafal Krypa <r.krypa@samsung.com>
  *
@@ -537,7 +537,7 @@ int SocketManager::CreateDomainSocketHelp(
     sockaddr_un serverAddress;
     memset(&serverAddress, 0, sizeof(serverAddress));
     serverAddress.sun_family = AF_UNIX;
-    strncpy(serverAddress.sun_path, desc.serviceHandlerPath.c_str(), sizeof(serverAddress.sun_path));
+    memcpy(serverAddress.sun_path, desc.serviceHandlerPath.c_str(), desc.serviceHandlerPath.length() + 1);
     unlink(serverAddress.sun_path);
 
     mode_t originalUmask;