rpms/sblim-sfcb/F-12 LocalInterfaceInvokeMethodFix.patch, NONE, 1.1 destroyThreadKey.patch, NONE, 1.1 sblim-sfcb.spec, 1.1, 1.2

Praveen K Paladugu praveenp at fedoraproject.org
Wed Sep 30 15:05:54 UTC 2009


Author: praveenp

Update of /cvs/pkgs/rpms/sblim-sfcb/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1820

Modified Files:
	sblim-sfcb.spec 
Added Files:
	LocalInterfaceInvokeMethodFix.patch destroyThreadKey.patch 
Log Message:
Added two patches


LocalInterfaceInvokeMethodFix.patch:
 cimcClientSfcbLocal.c |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

--- NEW FILE LocalInterfaceInvokeMethodFix.patch ---
diff -Naur sblim-sfcb-1.3.2/cimcClientSfcbLocal.c sblim-sfcb-1.3.2_fix/cimcClientSfcbLocal.c
--- sblim-sfcb-1.3.2/cimcClientSfcbLocal.c	2008-10-03 05:54:47.000000000 +0530
+++ sblim-sfcb-1.3.2_fix/cimcClientSfcbLocal.c	2009-04-07 22:14:55.000000000 +0530
@@ -1168,6 +1168,9 @@
    OperationHdr oHdr={OPS_InvokeMethod,0,5};
    CMPIArgs   *argsout;
    CMPIData retval={0,CMPI_notFound,{0l}};
+   
+   CMPIData rval={0,CMPI_notFound,{0l}}; //Fix : Local interface in InvokeMethod call crash.
+
    if (rc) CMSetStatus(rc, CMPI_RC_OK);
    
    _SFCB_ENTER(TRACE_CIMXMLPROC, "referenceNames");
@@ -1216,19 +1219,26 @@
             CMPIData data = CMGetArgAt(argsout,i, &name,NULL);
             CMAddArg(out,(char*)name->hdl,&data.value,data.type);
          }
+	rval = resp->rv; //FIX - Invoke Method crash
          if (resp->rvValue) {
             if (resp->rv.type==CMPI_chars) {
                resp->rv.value.chars=(long)resp->rvEnc.data+(char*)resp;
+		rval.value.chars = strdup((long)resp->rvEnc.data+(char*)resp); //FIX -- Invoke Method crash
             }
             else if (resp->rv.type==CMPI_dateTime) {
                resp->rv.value.dateTime=
                   NewCMPIDateTimeFromChars((long)resp->rvEnc.data
                                           +(char*)resp,NULL);
+		rval.value.dateTime = CMClone(resp->rv.value.dateTime,rc);
             }
+	    else
+	    {
+		rval = resp->rv;		
+	    }
          }
          retval = resp->rv;
          free(resp);
-         _SFCB_RETURN(retval);
+         _SFCB_RETURN(rval);
       }
       if (rc) CIMCSetStatusWithChars(rc, resp->rc, (char*)resp->object[0].data);
       free(resp);

destroyThreadKey.patch:
 support.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE destroyThreadKey.patch ---
--- sblim-sfcb-1.3.2/support.c	2008-06-26 04:45:36.000000000 +0530
+++ sblim-sfcb-1.3.2_new/support.c	2009-07-27 17:53:35.000000000 +0530
@@ -433,7 +433,7 @@
    
    __cleanup_mt(mt);
    CMPI_BrokerExt_Ftab->setThreadSpecific(__mm_key,NULL);
-
+   CMPI_BrokerExt_Ftab->destroyThreadKey(__mm_key);
 }
 
 static managed_thread *__init_mt()


Index: sblim-sfcb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/sblim-sfcb/F-12/sblim-sfcb.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sblim-sfcb.spec	24 Sep 2009 18:05:24 -0000	1.1
+++ sblim-sfcb.spec	30 Sep 2009 15:05:54 -0000	1.2
@@ -8,12 +8,14 @@ Name: sblim-sfcb
 Summary: Small Footprint CIM Broker
 URL: http://www.sblim.org
 Version: 1.3.4
-Release: 8%{dist}
+Release: 9%{dist}
 Group: Applications/System
 License: EPL
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
 Source0: http://downloads.sourceforge.net/sblim/%{name}-%{version}.tar.bz2
 patch0:	%{name}-disable_auto_service_start.patch
+patch1: LocalInterfaceInvokeMethodFix.patch
+patch2: destroyThreadKey.patch
 Provides: cim-server
 Requires: cim-schema
 BuildRequires: libcurl-devel
@@ -41,6 +43,8 @@ Programming Interface (CMPI).
 %prep
 %setup -q -T -b 0 -n %{name}-%{version}
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
 %configure --enable-debug --enable-ssl --enable-pam --enable-ipv6 CFLAGS="$CFLAGS -D_GNU_SOURCE"
@@ -107,6 +111,12 @@ fi
 #%doc COPYING README
 
 %changelog
+* Wed Sep 30 2009 <praveen_paladugu at dell.com>- 1.3.4-9
+- LocalInterfaceInvokeMethodFix: CHARS and string were handled the same.
+-  They are differentiated in this patch.
+- destroyThreadKey: Local sfcb connect was creating thread specific data
+-  associating a key to it. This won't get deleted resulting in crash
+-  of opwsman, sfcc and sfcb. This patch deletes that data.
 * Tue Sep 22 2009 <srinivas_ramanatha at dell.com> - 1.3.4-8
 - Removed the devel package and moved the init script to right directory
 * Wed Sep 16 2009 <srinivas_ramanatha at dell.com> - 1.3.4-7




More information about the scm-commits mailing list