[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] protocol/rtsp crtspbase.cpp,1.11,1.12
From:       dcollins () helixcommunity ! org
Date:       2007-10-30 6:59:44
Message-ID: 200710300659.l9U6xwtV022748 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/protocol/rtsp
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv22090

Modified Files:
	crtspbase.cpp 
Log Message:
Synopsis
========
Fixes several CRTSPProxySession related CAs and a few other proxy CAs.

Branches: SERVER_BORABORA, HEAD
Suggested Reviewer: Sean (pending)


Description
===========

PR 206756 describes a CA which turned out to be caused by a missing
AddRef for the CRTSPProxySession object.  Several other CAs not in this
PR were also caused by this.  It would occur when messages needed to be
queued up.  (I think we were looking mostly at pMsg when last updating
the queueing mechanism and not realizing the pSes pointer refcount was
also not being refcounted quite right.)

A few other unrelated CAs are also fixed by this diff.  The
RTSPProxyProtocol::PassSetupMsgToOrigin() change mirrors other defensive
code in this same routine.  The CRTSPBaseProtocol::_FinishDescribe()
CA looks like the result of a bad patch/merge.


Files Affected
==============

server-restricted/proxy/rproxy/rtspprxy.cpp
server/protocol/rtsp/crtspbase.cpp


Testing Performed
=================

Unit Tests:
* None

Integration Tests:
* Ran debug server in a Solaris uptime, trapping CAs with the debugger.

Leak Tests:
* None

Performance Tests:
* None

Platforms Tested: sunos-5.10-sparc-server
Build verified: sunos-5.10-sparc-server, linux-rhel4-i686


QA Hints
===============

* Regress PR 206756



Index: crtspbase.cpp
===================================================================
RCS file: /cvsroot/server/protocol/rtsp/crtspbase.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- crtspbase.cpp	30 Oct 2007 00:47:21 -0000	1.11
+++ crtspbase.cpp	30 Oct 2007 06:59:41 -0000	1.12
@@ -7380,20 +7380,20 @@
             pOptionalValues = new CHXHeader();
         }
 
-            m_pSock->GetLocalAddr(&pHostAddr);
         if (m_pSock)
         {
+            m_pSock->GetLocalAddr(&pHostAddr);
             HX_ASSERT(pHostAddr);
-       }
+        }
 
-       if (pHostAddr)
-       {
+        if (pHostAddr)
+        {
             pHostAddr->GetAddr(&pHostAddrBuf);
             HX_ASSERT(pHostAddrBuf);
-       }
+        }
 
-       if (pHostAddrBuf)
-       {
+        if (pHostAddrBuf)
+        {
             IHXSockAddrIN6* pIN6Addr = NULL;
             IHXBuffer* pFam = NULL;
             m_pCommonClassFactory->CreateInstance(CLSID_IHXBuffer, (void**)&pFam);


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic