From: Christian Linke Date: Tue, 5 Mar 2013 12:58:27 +0000 (+0100) Subject: * online coding fixed overflow of handles X-Git-Tag: accepted/tizen/ivi/20140919.141601~89 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a78918ef0876128215502007597c7808c7fa340;p=profile%2Fivi%2Fgenivi%2Fgenivi-audio-manager.git * online coding fixed overflow of handles Signed-off-by: Christian Linke --- diff --git a/AudioManagerDaemon/src/CAmRoutingSender.cpp b/AudioManagerDaemon/src/CAmRoutingSender.cpp index 75d5052..d6ea25e 100644 --- a/AudioManagerDaemon/src/CAmRoutingSender.cpp +++ b/AudioManagerDaemon/src/CAmRoutingSender.cpp @@ -533,9 +533,13 @@ am_Error_e CAmRoutingSender::getListHandles(std::vector & listHandl am_Handle_s CAmRoutingSender::createHandle(const am_handleData_c& handleData, const am_Handle_e type) { am_Handle_s handle; - handle.handle = ++mHandleCount; //todo: handle overflows here... + if (++mHandleCount>=1024) //defined by 10 bit (out if structure!) + mHandleCount=1; + handle.handle = mHandleCount; handle.handleType = type; mlistActiveHandles.insert(std::make_pair(handle, handleData)); + if ((mlistActiveHandles.size()%100) == 0) + logInfo("CAmRoutingSender::createHandle warning: too many open handles, number of handles: ", mlistActiveHandles.size()); return (handle); }