Fix warnings detected by static code analyzers 62/139162/3
authorPiotr Sawicki <p.sawicki2@partner.samsung.com>
Mon, 17 Jul 2017 09:48:19 +0000 (11:48 +0200)
committerZofia Abramowska <z.abramowska@samsung.com>
Tue, 18 Jul 2017 14:15:02 +0000 (16:15 +0200)
Change-Id: Ib7feacd42ab63b3841efcf025f9241c044f4e57f

src/client/api/askuser-notification-client.cpp
src/client/impl/ApiInterfaceImpl.h
src/client/impl/ClientCallbacks.h
src/ipc/sock.cpp
src/ipc/test/main.cpp

index c8e7602..d610e7d 100644 (file)
@@ -35,7 +35,7 @@
 struct askuser_client {
     AskUser::Client::ApiInterface *impl;
 
-    askuser_client(AskUser::Client::ApiInterface *_impl) : impl(_impl) {
+    explicit askuser_client(AskUser::Client::ApiInterface *_impl) : impl(_impl) {
     }
 
     ~askuser_client() {
index ab089e3..6adcf2c 100644 (file)
@@ -39,7 +39,7 @@ namespace Client {
 
 class ApiInterfaceImpl : public ApiInterface {
 public:
-    ApiInterfaceImpl(const StatusCallbackClosure &closure);
+    explicit ApiInterfaceImpl(const StatusCallbackClosure &closure);
     ApiInterfaceImpl(const ApiInterfaceImpl& orig) = delete;
     virtual ~ApiInterfaceImpl();
 
index d7a79d2..f8d4000 100644 (file)
@@ -34,7 +34,7 @@ namespace Client {
 class ClientCallbacks : public Protocol::IClientCallbacks {
 public:
 
-    ClientCallbacks(ApiInterfaceImpl *api) : m_api(api)
+    explicit ClientCallbacks(ApiInterfaceImpl *api) : m_api(api)
     {}
 
     virtual void updateConnection(Protocol::ConnectionFd fd, int mask);
index 64b05ba..70c3dd5 100644 (file)
@@ -234,7 +234,7 @@ int Sock::wait(int mask) {
     pollfd fd = {0, 0, 0};
 
     fd.fd = m_fd;
-    fd.events = (mask & FdMask::READ ? POLLIN : 0) | (mask & FdMask::WRITE ? POLLOUT : 0);
+    fd.events = ((mask & FdMask::READ) ? POLLIN : 0) | ((mask & FdMask::WRITE) ? POLLOUT : 0);
 
     if (fd.events == 0)
         return -1;
index 9e84842..826fb0e 100644 (file)
@@ -19,6 +19,7 @@
  * @author      Piotr Sawicki <p.sawicki2@partner.samsung.com>
  * @brief
  */
+#include <exception>
 #include <map>
 
 #include <poll.h>
@@ -28,6 +29,7 @@
 #include <client-channel.h>
 #include <server-channel.h>
 #include <common-types.h>
+#include <connection-exception.h>
 
 std::map<int, int> m_sockets;
 
@@ -36,7 +38,7 @@ std::map<int, int> m_sockets;
 using namespace AskUser::Protocol;
 
 struct ServerCallbacks : public IServerCallbacks {
-    ServerCallbacks() : m_channel(nullptr) {}
+    ServerCallbacks() : m_channel(nullptr), responseCounter(0) {}
 
     virtual void newConnection(ConnectionFd fd, const Credentials &creds) {
         printf("call newConnection fd: %d credentials = { label: %s uid: %s }\n", fd,
@@ -55,7 +57,7 @@ struct ServerCallbacks : public IServerCallbacks {
     virtual void popup(ConnectionFd fd, RequestId id, Privilege &&priv) {
         printf("call popup %s \n", priv.c_str());
         if (m_channel)
-            m_channel->popupResponse(fd, id, rand() % (ASKUSER_ALLOW_FOREVER + 1));
+            m_channel->popupResponse(fd, id, responseCounter++ % (ASKUSER_ALLOW_FOREVER + 1));
     }
 
     void setChannel(ServerChannel *ptr) {
@@ -64,6 +66,7 @@ struct ServerCallbacks : public IServerCallbacks {
 
 private:
     ServerChannel *m_channel;
+    int responseCounter;
 };
 
 void server(void) {
@@ -153,7 +156,11 @@ void client() {
             switch (fd[i].fd) {
             case 0:
                 if (fd[i].revents & POLLIN) {
-                    UNUSED int ret = scanf("%s", privilege);
+                    int ret = scanf("%1024s", privilege);
+                    if (ret != 1) {
+                        printf("Invalid argument\n");
+                        break;
+                    }
                     chan->popupRequest(privilege);
                 }
                 break;
@@ -172,15 +179,33 @@ void client() {
 int main(){
     int com;
     printf("0 - server, 1 - send popup\n>");
-    UNUSED int ret = scanf("%d", &com);
-
-    switch(com) {
-    case 0:
-        server();
-        break;
-    case 1:
-        client();
-        break;
+    int ret = scanf("%d", &com);
+    if (ret != 1) {
+        printf("Invalid argument\n");
+        exit(EXIT_FAILURE);
+    }
+
+    try {
+        switch(com) {
+        case 0:
+            server();
+            break;
+        case 1:
+            client();
+            break;
+        default:
+            printf("Invalid argument\n");
+            exit(EXIT_FAILURE);
+        }
+    }
+    catch (const ConnectionException &e) {
+        printf("Connection exception occured: %s\n", e.what());
+    }
+    catch (const std::exception &e) {
+        printf("Standard exception occured: %s\n", e.what());
+    }
+    catch (...) {
+        printf("Unknown exception occured\n");
     }
 
     return 0;