diff options
author | christian mueller <christian.ei.mueller@bmw.de> | 2012-05-03 14:40:20 +0200 |
---|---|---|
committer | christian mueller <christian.ei.mueller@bmw.de> | 2012-05-24 13:40:22 +0200 |
commit | 6681a98594680fe6ab15abeeb0ea915c44d7ad6a (patch) | |
tree | b1dbb1d46a5019963d4061fb4463032ef4deb09d /AudioManagerDaemon/src/CAmTelnetServer.cpp | |
parent | bfafb8c4ded216a2cae6e376e69c9bc2dca117e6 (diff) | |
download | audiomanager-6681a98594680fe6ab15abeeb0ea915c44d7ad6a.tar.gz |
* [GAM-74] resolving issues found by coverity scan
Signed-off-by: christian mueller <christian.ei.mueller@bmw.de>
Diffstat (limited to 'AudioManagerDaemon/src/CAmTelnetServer.cpp')
-rw-r--r-- | AudioManagerDaemon/src/CAmTelnetServer.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/AudioManagerDaemon/src/CAmTelnetServer.cpp b/AudioManagerDaemon/src/CAmTelnetServer.cpp index 3af05af..ed28f9c 100644 --- a/AudioManagerDaemon/src/CAmTelnetServer.cpp +++ b/AudioManagerDaemon/src/CAmTelnetServer.cpp @@ -69,6 +69,7 @@ CAmTelnetServer::CAmTelnetServer(CAmSocketHandler *iSocketHandler, CAmCommandSen //setup the port Listener mConnectFD = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + assert (mConnectFD>0); setsockopt(mConnectFD, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)); memset(&servAddr, 0, sizeof(servAddr)); servAddr.sin_family = AF_INET; @@ -107,6 +108,8 @@ void CAmTelnetServer::connectSocket(const pollfd pfd, const sh_pollHandle_t hand connection.handle = 0; connection.filedescriptor = accept(pfd.fd, (struct sockaddr*) &answer, &len); + assert(connection.filedescriptor>0); + // Notiy menuhelper mTelnetMenuHelper.newSocketConnection(connection.filedescriptor); @@ -167,6 +170,11 @@ bool CAmTelnetServer::dispatchData(const sh_pollHandle_t handle, void *userData) if (iterator->handle == handle) break; } + if (iterator==mListConnections.end()) + { + logError("CAmTelnetServer::dispatchData could not find handle !"); + return (false); + } std::string command; std::queue<std::string> MsgQueue; @@ -174,9 +182,12 @@ bool CAmTelnetServer::dispatchData(const sh_pollHandle_t handle, void *userData) { sliceCommand(mListMessages.front(), command, MsgQueue); mListMessages.pop(); + mTelnetMenuHelper.enterCmdQueue(MsgQueue, iterator->filedescriptor); + } + else + { + logError("CAmTelnetServer::dispatchData Message queue was empty!"); } - - mTelnetMenuHelper.enterCmdQueue(MsgQueue, iterator->filedescriptor); // must return false to stop endless polling return (false); |