From 6681a98594680fe6ab15abeeb0ea915c44d7ad6a Mon Sep 17 00:00:00 2001 From: christian mueller Date: Thu, 3 May 2012 14:40:20 +0200 Subject: * [GAM-74] resolving issues found by coverity scan Signed-off-by: christian mueller --- AudioManagerDaemon/src/CAmTelnetServer.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'AudioManagerDaemon/src/CAmTelnetServer.cpp') 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 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); -- cgit v1.2.1