You can subscribe to this list here.
2005 |
Jan
|
Feb
(1) |
Mar
(45) |
Apr
(150) |
May
(145) |
Jun
(150) |
Jul
(79) |
Aug
(313) |
Sep
(160) |
Oct
(309) |
Nov
(115) |
Dec
(60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(160) |
Feb
(144) |
Mar
(127) |
Apr
(48) |
May
(102) |
Jun
(54) |
Jul
(245) |
Aug
(94) |
Sep
(152) |
Oct
(162) |
Nov
(166) |
Dec
(740) |
2007 |
Jan
(752) |
Feb
(437) |
Mar
(328) |
Apr
(373) |
May
(569) |
Jun
(399) |
Jul
(369) |
Aug
(627) |
Sep
(100) |
Oct
(306) |
Nov
(166) |
Dec
(282) |
2008 |
Jan
(68) |
Feb
(145) |
Mar
(180) |
Apr
(160) |
May
(277) |
Jun
(229) |
Jul
(1188) |
Aug
(51) |
Sep
(97) |
Oct
(99) |
Nov
(95) |
Dec
(170) |
2009 |
Jan
(39) |
Feb
(73) |
Mar
(120) |
Apr
(121) |
May
(104) |
Jun
(262) |
Jul
(57) |
Aug
(171) |
Sep
(131) |
Oct
(88) |
Nov
(64) |
Dec
(83) |
2010 |
Jan
(55) |
Feb
(67) |
Mar
(124) |
Apr
(64) |
May
(130) |
Jun
(75) |
Jul
(164) |
Aug
(64) |
Sep
(44) |
Oct
(17) |
Nov
(43) |
Dec
(31) |
2011 |
Jan
(21) |
Feb
(10) |
Mar
(43) |
Apr
(46) |
May
(52) |
Jun
(71) |
Jul
(7) |
Aug
(16) |
Sep
(51) |
Oct
(14) |
Nov
(33) |
Dec
(15) |
2012 |
Jan
(12) |
Feb
(61) |
Mar
(129) |
Apr
(76) |
May
(70) |
Jun
(52) |
Jul
(29) |
Aug
(41) |
Sep
(32) |
Oct
(23) |
Nov
(38) |
Dec
(26) |
2013 |
Jan
(35) |
Feb
(37) |
Mar
(51) |
Apr
(15) |
May
(52) |
Jun
(15) |
Jul
(23) |
Aug
(21) |
Sep
(46) |
Oct
(69) |
Nov
(57) |
Dec
(26) |
2014 |
Jan
(5) |
Feb
(13) |
Mar
(17) |
Apr
(1) |
May
(5) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(16) |
Nov
(8) |
Dec
(4) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Dave B. <bla...@us...> - 2013-10-07 17:28:19
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25580/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2683 KEYVALUE VALUETYPE optional, "string" default Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.53 retrieving revision 1.14.2.54 diff -u -d -r1.14.2.53 -r1.14.2.54 --- CIMXMLParserImpl.java 2 Oct 2013 17:26:21 -0000 1.14.2.53 +++ CIMXMLParserImpl.java 7 Oct 2013 17:28:16 -0000 1.14.2.54 @@ -69,7 +69,8 @@ * 2678 2013-09-30 blaschke-oss parseMULTI___ allows one SIMPLE___ child element * 2679 2013-10-01 blaschke-oss parseIMETHODCALL requires one IPARAMVALUE child element * 2680 2013-10-02 blaschke-oss IPARAMVALUE parsing broken on DOM/SAX - * 2681 2013-10-02 blaschke-oss parseQUALIFIERDECLARATION does not require TYPE attribute + * 2681 2013-10-02 blaschke-oss parseQUALIFIERDECLARATION does not require TYPE attribute + * 2683 2013-10-07 blaschke-oss KEYVALUE VALUETYPE optional, "string" default */ package org.sblim.cimclient.internal.cimxml; @@ -946,6 +947,7 @@ if (typeStr == null) { String valueTypeStr = attribute(pKeyValueE, "VALUETYPE"); + if (valueTypeStr == null) valueTypeStr = "string"; ValueTypeHandler vtHandler = new ValueTypeHandler(valueTypeStr, valueStr); return new TypedValue(vtHandler.getType(), vtHandler.getValue()); } @@ -1051,11 +1053,7 @@ } private boolean setBoolean(String pValue) { - try { - this.iValue = Boolean.valueOf(pValue); - } catch (NumberFormatException e) { - return false; - } + this.iValue = Boolean.valueOf(pValue); this.iType = CIMDataType.BOOLEAN_T; return true; } |
From: Dave B. <bla...@us...> - 2013-10-07 09:48:45
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv5818/src/org/sblim/cimclient/internal/cimxml/sax Modified Files: NodeConstIf.java Log Message: 2666 CR12: Remove ENUMERATIONCONTEXT Index: NodeConstIf.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/NodeConstIf.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- NodeConstIf.java 29 Jul 2010 18:51:56 -0000 1.10 +++ NodeConstIf.java 7 Oct 2013 09:48:42 -0000 1.11 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors * 2845211 2009-08-27 raman_arora Pull Enumeration Feature (SAX Parser) + * 2666 2013-09-19 blaschke-oss CR12: Remove ENUMERATIONCONTEXT */ package org.sblim.cimclient.internal.cimxml.sax; @@ -912,6 +913,4 @@ * @see String */ public static final String SIMPLEREQACK = "SIMPLEREQACK"; - - /* ENUMERATIONCONTEXT? */ } |
From: Dave B. <bla...@us...> - 2013-10-02 19:20:54
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30627/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental IMethodCallNode.java MethodCallNode.java AbstractMethodCallNode.java Log Message: 2682 (I)MethodCallNode allows no LOCAL*PATH Index: MethodCallNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/MethodCallNode.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -d -r1.1.2.6 -r1.1.2.7 --- MethodCallNode.java 22 Jan 2009 23:21:03 -0000 1.1.2.6 +++ MethodCallNode.java 2 Oct 2013 19:20:52 -0000 1.1.2.7 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 2682 2013-10-02 blaschke-oss (I)MethodCallNode allows no LOCAL*PATH */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -46,4 +47,10 @@ + " node cannot have " + pNodeNameEnum + " child node!"); } + @Override + public void testCompletness() throws SAXException { + if (this.iPath == null) throw new SAXException( + "METHODCALL node must have a LOCALINSTANCEPATH or LOCALCLASSPATH child node!"); + } + } Index: IMethodCallNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/IMethodCallNode.java,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -d -r1.1.2.7 -r1.1.2.8 --- IMethodCallNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.7 +++ IMethodCallNode.java 2 Oct 2013 19:20:52 -0000 1.1.2.8 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 2682 2013-10-02 blaschke-oss (I)MethodCallNode allows no LOCAL*PATH */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -46,4 +47,10 @@ + " node cannot have " + pNodeNameEnum + " child node!"); } + @Override + public void testCompletness() throws SAXException { + if (this.iPath == null) throw new SAXException( + "IMETHODCALL node must have a LOCALNAMESPACEPATH child node!"); + } + } Index: AbstractMethodCallNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/AbstractMethodCallNode.java,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -d -r1.1.2.10 -r1.1.2.11 --- AbstractMethodCallNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 +++ AbstractMethodCallNode.java 2 Oct 2013 19:20:52 -0000 1.1.2.11 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2012 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -21,6 +21,7 @@ * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly + * 2682 2013-10-02 blaschke-oss (I)MethodCallNode allows no LOCAL*PATH */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -124,11 +125,6 @@ } } - @Override - public void testCompletness() { - // TODO Auto-generated method stub - } - /** * getName * |
From: Dave B. <bla...@us...> - 2013-10-02 17:26:24
|
Update of /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/wbem/data In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24005/utst/org/sblim/cimclient/unittest/wbem/data Modified Files: Tag: Experimental SVCEnumQualiTypes.xml Log Message: 2681 parseQUALIFIERDECLARATION does not require TYPE attribute Index: SVCEnumQualiTypes.xml =================================================================== RCS file: /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/wbem/data/SVCEnumQualiTypes.xml,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- SVCEnumQualiTypes.xml 4 May 2007 12:43:29 -0000 1.1.2.1 +++ SVCEnumQualiTypes.xml 2 Oct 2013 17:26:21 -0000 1.1.2.2 @@ -4,10 +4,10 @@ <SIMPLERSP> <IMETHODRESPONSE NAME="EnumerateQualifiers"> <IRETURNVALUE> - <QUALIFIER.DECLARATION NAME="BoolQuali"> + <QUALIFIER.DECLARATION NAME="BoolQuali" TYPE="boolean"> <VALUE TYPE="boolean">FALSE</VALUE> </QUALIFIER.DECLARATION> - <QUALIFIER.DECLARATION NAME="IntAQuali"> + <QUALIFIER.DECLARATION NAME="IntAQuali" TYPE="sint32"> <VALUE.ARRAY TYPE="sint32"> <VALUE>-5</VALUE><VALUE>15</VALUE> </VALUE.ARRAY> |
From: Dave H. <hel...@us...> - 2013-10-02 15:38:26
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master has been updated via 704948d9b97e7fde7cc9745cb0793c7ac8ca37a9 (commit) from e87dd276d9048ed605e02df70baff6d2d9854cc9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 704948d9b97e7fde7cc9745cb0793c7ac8ca37a9 Author: Dave Heller <hel...@us...> Date: Wed Oct 2 11:38:58 2013 -0400 bump version number ----------------------------------------------------------------------- Summary of changes: NEWS | 8 ++++++++ configure.ac | 2 +- 2 files changed, 9 insertions(+), 1 deletions(-) diff --git a/NEWS b/NEWS index 35a3f26..428236b 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +Changes in 1.4.7 +================ + +New features: + +Bugs fixed: + + Changes in 1.4.6 ================ diff --git a/configure.ac b/configure.ac index cb77959..81bc077 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Small Footprint CIM Broker, 1.4.6, sbl...@li..., sblim-sfcb) +AC_INIT(Small Footprint CIM Broker, 1.4.7-preview, sbl...@li..., sblim-sfcb) AC_CONFIG_SRCDIR([providerDrv.c]) #disable "seems to ignore the --datarootdir setting" warnings hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave H. <hel...@us...> - 2013-10-02 15:36:28
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The tag, SFCB_1_4_6 has been created at e87dd276d9048ed605e02df70baff6d2d9854cc9 (commit) - Log ----------------------------------------------------------------- commit e87dd276d9048ed605e02df70baff6d2d9854cc9 Author: Dave Heller <hel...@us...> Date: Wed Oct 2 11:30:49 2013 -0400 prep for 1.4.6 release ----------------------------------------------------------------------- hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave H. <hel...@us...> - 2013-10-02 15:33:43
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master has been updated via e87dd276d9048ed605e02df70baff6d2d9854cc9 (commit) from dbd47438b011a082b5216455a439b5e66f6daf5d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e87dd276d9048ed605e02df70baff6d2d9854cc9 Author: Dave Heller <hel...@us...> Date: Wed Oct 2 11:30:49 2013 -0400 prep for 1.4.6 release ----------------------------------------------------------------------- Summary of changes: NEWS | 17 ++++++++++++++++- configure.ac | 2 +- contributions.txt | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 3f8266c..35a3f26 100644 --- a/NEWS +++ b/NEWS @@ -2,9 +2,24 @@ Changes in 1.4.6 ================ New features: +- [sfcb-tix:#64] Support maxObjCount for HTTP chunking +- [sfcb-tix:#70] Reload SSL context-without restarting httpd Bugs fixed: - +- [sfcb-tix:#61] classProviderSf.c SIGSEGV if repo is not initialized +- [sfcb-tix:#63] Improve NamespaceProvider and ClassProvider Consistency +- [sfcb-tix:#66] SFCB_TRACE_VAR should be more restrictive +- [sfcb-tix:#60] fix providerMgr trace for localconnect +- [sfcb-tix:#68] reinitialize select timeout in SSL handshake +- [sfcb-tix:#79] sfcc cannot reconnect with sfcb if sfcb restarts [bugs:#2663] +- [sfcb-tix:#69] Fix logger for long-lived clients, was: "#2347 Don't spawn logger for clients" +- [sfcb-tix:#72] Make systemddir configurable +- [sfcb-tix:#74] providerRegister: check for and prevent buffer overflows +- [sfcb-tix:#75] fileRepository: show which directory could not be opened +- [sfcb-tix:#78] Missing null check in ift_getObjectPath, transposed debug stmts in memAlloc +- [sfcb-tix:#78] Simplify mutex handling in instance.c +- [sfcb-tix:#77] Fix prototype for stopBroker +- [sfcb-tix:#80] sfcc cannot reconnect with sfcb Changes in 1.4.5 ================ diff --git a/configure.ac b/configure.ac index 98b7c2a..cb77959 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Small Footprint CIM Broker, 1.4.6-preview, sbl...@li..., sblim-sfcb) +AC_INIT(Small Footprint CIM Broker, 1.4.6, sbl...@li..., sblim-sfcb) AC_CONFIG_SRCDIR([providerDrv.c]) #disable "seems to ignore the --datarootdir setting" warnings diff --git a/contributions.txt b/contributions.txt index 3bd2cac..e25e33d 100644 --- a/contributions.txt +++ b/contributions.txt @@ -123,6 +123,7 @@ Klaus Kampf, Novell 09/20/2013 [sfcb-tix:#72] Make systemddir configurable 09/20/2013 [sfcb-tix:#74] providerRegister: check for and prevent buffer overflows 09/20/2013 [sfcb-tix:#75] fileRepository: show which directory could not be opened +09/30/2013 [sfcb-tix:#77] Fix prototype for stopBroker 10/01/2013 [sfcb-tix:#62] SIGSEGV in ClassProvider, return of 0 from addClParameter() not checked Mike Brasher, Inova hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2013-10-02 13:59:02
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv13820/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental IParamValueNode.java Log Message: 2680 IPARAMVALUE parsing broken on DOM/?SAX Index: IParamValueNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/IParamValueNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- IParamValueNode.java 1 Jun 2009 17:01:10 -0000 1.1.2.9 +++ IParamValueNode.java 2 Oct 2013 13:58:59 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics + * 2680 2013-10-02 blaschke-oss IPARAMVALUE parsing broken on DOM/SAX */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -109,6 +110,10 @@ this.iValue = ((ValueIf) pChild).getValue(); this.iIsArray = pChild instanceof ArrayIf; if (pChild instanceof TypedIf) this.iType = ((TypedIf) pChild).getType(); + else if (pChild instanceof ObjectPathIf) this.iType = CIMDataType + .getDataType(((ObjectPathIf) pChild).getCIMObjectPath()); + else if (pChild instanceof ValueIf) this.iType = CIMDataType.getDataType(((ValueIf) pChild) + .getValue()); } @Override |
From: Chris B. <buc...@us...> - 2013-10-02 01:19:09
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master has been updated via dbd47438b011a082b5216455a439b5e66f6daf5d (commit) from 94e6796ef3835ad9b7aa03e349369b8861bab5a6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit dbd47438b011a082b5216455a439b5e66f6daf5d Author: buccella <buc...@li...> Date: Tue Oct 1 21:18:39 2013 -0400 [sfcb-tix:#62] SIGSEGV in ClassProvider, return of 0 from addClParameter() not checked ----------------------------------------------------------------------- Summary of changes: contributions.txt | 1 + objectImpl.c | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/contributions.txt b/contributions.txt index fb85a66..3bd2cac 100644 --- a/contributions.txt +++ b/contributions.txt @@ -123,6 +123,7 @@ Klaus Kampf, Novell 09/20/2013 [sfcb-tix:#72] Make systemddir configurable 09/20/2013 [sfcb-tix:#74] providerRegister: check for and prevent buffer overflows 09/20/2013 [sfcb-tix:#75] fileRepository: show which directory could not be opened +10/01/2013 [sfcb-tix:#62] SIGSEGV in ClassProvider, return of 0 from addClParameter() not checked Mike Brasher, Inova ------------------- diff --git a/objectImpl.c b/objectImpl.c index 19414fc..8df8087 100644 --- a/objectImpl.c +++ b/objectImpl.c @@ -1185,7 +1185,7 @@ addClParameter(ClObjectHdr * hdr, ClSection * prms, ClParameter * np) *p = *np; return prms->used; } - return 0; + return i; } static ClParameter hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2013-10-01 23:46:27
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv9564/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2679 parseIMETHODCALL requires one IPARAMVALUE child element Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.50 retrieving revision 1.14.2.51 diff -u -d -r1.14.2.50 -r1.14.2.51 --- CIMXMLParserImpl.java 30 Sep 2013 17:02:19 -0000 1.14.2.50 +++ CIMXMLParserImpl.java 1 Oct 2013 23:46:25 -0000 1.14.2.51 @@ -67,6 +67,7 @@ * 2675 2013-09-27 blaschke-oss CIMXMLParseException messages should contain element name * 2676 2013-09-27 blaschke-oss parseMULTI(EXP)REQ looking for wrong child elements * 2678 2013-09-30 blaschke-oss parseMULTI___ allows one SIMPLE___ child element + * 2679 2013-10-01 blaschke-oss parseIMETHODCALL requires one IPARAMVALUE child element */ package org.sblim.cimclient.internal.cimxml; @@ -2532,10 +2533,9 @@ argA[i] = arg; } request.addParamValue(argA); - return request; } - throw new CIMXMLParseException("IMETHODCALL element missing IPARAMVALUE child element!"); + return request; } /** |
From: Dave B. <bla...@us...> - 2013-09-30 17:02:22
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv17503/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2678 parseMULTI___ allows one SIMPLE___ child element Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.49 retrieving revision 1.14.2.50 diff -u -d -r1.14.2.49 -r1.14.2.50 --- CIMXMLParserImpl.java 27 Sep 2013 19:46:11 -0000 1.14.2.49 +++ CIMXMLParserImpl.java 30 Sep 2013 17:02:19 -0000 1.14.2.50 @@ -66,6 +66,7 @@ * 2671 2013-09-25 blaschke-oss Potential null pointer exception in parseERROR * 2675 2013-09-27 blaschke-oss CIMXMLParseException messages should contain element name * 2676 2013-09-27 blaschke-oss parseMULTI(EXP)REQ looking for wrong child elements + * 2678 2013-09-30 blaschke-oss parseMULTI___ allows one SIMPLE___ child element */ package org.sblim.cimclient.internal.cimxml; @@ -2193,6 +2194,13 @@ return response; } // MULTIEXPRSP + Element multiexprspE = (Element) searchFirstNode(pMessageE, "MULTIEXPRSP"); + if (multiexprspE != null) { + CIMResponse response = parseMULTIEXPRSP(multiexprspE); + response.setMethod("MULTIEXPRSP"); + response.setId(id); + return response; + } // SIMPLEREQ Element simplereqE = (Element) searchFirstNode(pMessageE, "SIMPLEREQ"); @@ -2355,6 +2363,8 @@ Element[] multiRespElementA = searchNodes(pSimpleRspE, "SIMPLERSP"); if (multiRespElementA != null && multiRespElementA.length > 0) { + if (multiRespElementA.length < 2) throw new CIMXMLParseException( + "MULTIRSP element must have at least two SIMPLERSP child elements!"); CIMResponse multiRsp = new CIMResponse(); for (int i = 0; i < multiRespElementA.length; i++) { Element methodresponseE = multiRespElementA[i]; @@ -2401,6 +2411,8 @@ Element[] methodReqElementA = searchNodes(pMultiReqE, "SIMPLEREQ"); if (methodReqElementA != null && methodReqElementA.length > 0) { + if (methodReqElementA.length < 2) throw new CIMXMLParseException( + "MULTIREQ element must have at least two SIMPLEREQ child elements!"); CIMRequest multiReq = new CIMRequest(); for (int i = 0; i < methodReqElementA.length; i++) { Element methodrequestE = methodReqElementA[i]; @@ -2555,6 +2567,8 @@ Element[] methodReqElementA = searchNodes(pMultiExpReqE, "SIMPLEEXPREQ"); if (methodReqElementA != null && methodReqElementA.length > 0) { + if (methodReqElementA.length < 2) throw new CIMXMLParseException( + "MULTIEXPREQ element must have at least two SIMPLEEXPREQ child elements!"); CIMRequest multiReq = new CIMRequest(); for (int i = 0; i < methodReqElementA.length; i++) { Element methodrequestE = methodReqElementA[i]; @@ -3207,6 +3221,33 @@ } /** + * parseMULTIEXPRSP + * + * @param pMultiExpRspE + * @return CIMResponse + * @throws CIMXMLParseException + */ + public static CIMResponse parseMULTIEXPRSP(Element pMultiExpRspE) throws CIMXMLParseException { + // <!ELEMENT MULTIEXPRSP (SIMPLEEXPRSP,SIMPLEEXPRSP+)> + + Element[] multiExpRespElementA = searchNodes(pMultiExpRspE, "SIMPLEEXPRSP"); + if (multiExpRespElementA != null && multiExpRespElementA.length > 0) { + if (multiExpRespElementA.length < 2) throw new CIMXMLParseException( + "MULTIEXPRSP element must have at least two SIMPLEEXPRSP child elements!"); + CIMResponse multiExpRsp = new CIMResponse(); + for (int i = 0; i < multiExpRespElementA.length; i++) { + Element methodresponseE = multiExpRespElementA[i]; + CIMResponse rsp = parseSIMPLEEXPRSP(methodresponseE); + rsp.setMethod("SIMPLEEXPRSP"); + multiExpRsp.addResponse(rsp); + } + return multiExpRsp; + } + + throw new CIMXMLParseException("MULTIEXPRSP element missing SIMPLEEXPRSP child element!"); + } + + /** * parseEXPMETHODRESPONSE * * @param pExpMethodResponseE |
From: Dave B. <bla...@us...> - 2013-09-30 14:03:06
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7899/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental ObjectPathNode.java Log Message: 2677 ObjectPathNode allows all child nodes Index: ObjectPathNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ObjectPathNode.java,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -d -r1.1.2.7 -r1.1.2.8 --- ObjectPathNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.7 +++ ObjectPathNode.java 30 Sep 2013 14:03:04 -0000 1.1.2.8 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 2677 2013-09-30 blaschke-oss ObjectPathNode allows all child nodes */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -68,6 +69,9 @@ if (this.iObjPath != null) throw new SAXException(getNodeName() + " node can have only one INSTANCEPATH or CLASSPATH child node!" + " Additional " + pNodeNameEnum + " child node is invalid!"); + if (pNodeNameEnum != CLASSPATH && pNodeNameEnum != INSTANCEPATH) throw new SAXException( + getNodeName() + " node child node can be CLASSPATH or INSTANCEPATH but a " + + pNodeNameEnum + " node was found!"); } @Override |
From: Dave B. <bla...@us...> - 2013-09-27 19:46:14
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24951/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2676 parseMULTI(EXP)REQ looking for wrong child elements Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.48 retrieving revision 1.14.2.49 diff -u -d -r1.14.2.48 -r1.14.2.49 --- CIMXMLParserImpl.java 27 Sep 2013 18:32:19 -0000 1.14.2.48 +++ CIMXMLParserImpl.java 27 Sep 2013 19:46:11 -0000 1.14.2.49 @@ -65,6 +65,7 @@ * 2670 2013-09-25 blaschke-oss NAME attribute not required by DOM parser * 2671 2013-09-25 blaschke-oss Potential null pointer exception in parseERROR * 2675 2013-09-27 blaschke-oss CIMXMLParseException messages should contain element name + * 2676 2013-09-27 blaschke-oss parseMULTI(EXP)REQ looking for wrong child elements */ package org.sblim.cimclient.internal.cimxml; @@ -2398,13 +2399,13 @@ public static CIMRequest parseMULTIREQ(Element pMultiReqE) throws CIMXMLParseException { // <!ELEMENT MULTIREQ (SIMPLEREQ,SIMPLEREQ+)> - Element[] methodReqElementA = searchNodes(pMultiReqE, "MULTIREQ"); + Element[] methodReqElementA = searchNodes(pMultiReqE, "SIMPLEREQ"); if (methodReqElementA != null && methodReqElementA.length > 0) { CIMRequest multiReq = new CIMRequest(); for (int i = 0; i < methodReqElementA.length; i++) { Element methodrequestE = methodReqElementA[i]; CIMRequest req = parseSIMPLEREQ(methodrequestE); - req.setMethod("MULTIPREQ"); + req.setMethod("SIMPLEREQ"); multiReq.addRequest(req); } @@ -2552,7 +2553,7 @@ public static CIMRequest parseMULTIEXPREQ(Element pMultiExpReqE) throws CIMXMLParseException { // <!ELEMENT SIMPLEEXPREQ (METHODRESPONSE)> - Element[] methodReqElementA = searchNodes(pMultiExpReqE, "SIMPLEEXREQ"); + Element[] methodReqElementA = searchNodes(pMultiExpReqE, "SIMPLEEXPREQ"); if (methodReqElementA != null && methodReqElementA.length > 0) { CIMRequest multiReq = new CIMRequest(); for (int i = 0; i < methodReqElementA.length; i++) { |
From: Dave B. <bla...@us...> - 2013-09-27 18:32:22
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20334/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2675 CIMXMLParseException messages should contain element name Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.47 retrieving revision 1.14.2.48 diff -u -d -r1.14.2.47 -r1.14.2.48 --- CIMXMLParserImpl.java 25 Sep 2013 18:14:42 -0000 1.14.2.47 +++ CIMXMLParserImpl.java 27 Sep 2013 18:32:19 -0000 1.14.2.48 @@ -64,6 +64,7 @@ * 2669 2013-09-24 blaschke-oss Potential null pointer exception in parseMESSAGE * 2670 2013-09-25 blaschke-oss NAME attribute not required by DOM parser * 2671 2013-09-25 blaschke-oss Potential null pointer exception in parseERROR + * 2675 2013-09-27 blaschke-oss CIMXMLParseException messages should contain element name */ package org.sblim.cimclient.internal.cimxml; @@ -154,12 +155,12 @@ // <!ATTLIST CIM %CIMVERSION;%DTDVERSION;> Attr cim_cimversionA = (Attr) searchAttribute(pCimE, "CIMVERSION"); if (cim_cimversionA == null) throw new CIMXMLParseException( - "CIMVERSION attribute not found!"); + "CIM element missing CIMVERSION attribute!"); String cimversion = cim_cimversionA.getNodeValue(); Attr cim_dtdversionA = (Attr) searchAttribute(pCimE, "DTDVERSION"); if (cim_dtdversionA == null) throw new CIMXMLParseException( - "DTDVERSION attribute not found!"); + "CIM element missing DTDVERSION attribute!"); String dtdversion = cim_dtdversionA.getNodeValue(); // MESSAGE @@ -171,9 +172,11 @@ return message; } - // TODO : DECLARATION + // DECLARATION + if (searchFirstNode(pCimE, "DECLARATION") != null) throw new CIMXMLParseException( + "DECLARATION element not supported!"); - throw new CIMXMLParseException(); + throw new CIMXMLParseException("CIM element missing required child element!"); } // //////////////////////////////////////////////////////////////////////////////////////// @@ -296,7 +299,7 @@ return op; } - throw new CIMXMLParseException(); + throw new CIMXMLParseException("VALUE.REFERENCE element missing required child element!"); } /** @@ -345,7 +348,7 @@ return obj; } - throw new CIMXMLParseException(); + throw new CIMXMLParseException("VALUE.OBJECT element missing required child element!"); } /** @@ -361,12 +364,14 @@ // INSTANCENAME Element instancenameE = (Element) searchFirstNode(pValueNamedInstanceE, "INSTANCENAME"); - if (instancenameE == null) { throw new CIMXMLParseException(); } + if (instancenameE == null) { throw new CIMXMLParseException( + "VALUE.NAMEDINSTANCE element missing INSTANCENAME child element!"); } CIMObjectPath op = parseINSTANCENAME(instancenameE); // INSTANCE Element instanceE = (Element) searchFirstNode(pValueNamedInstanceE, "INSTANCE"); - if (instanceE == null) { throw new CIMXMLParseException(); } + if (instanceE == null) { throw new CIMXMLParseException( + "VALUE.NAMEDINSTANCE element missing INSTANCE child element!"); } CIMInstance inst = parseINSTANCE(instanceE, op); // BB mod return inst; } @@ -384,12 +389,14 @@ // INSTANCEPATH Element instancepathE = (Element) searchFirstNode(pValueNamedInstanceE, "INSTANCEPATH"); - if (instancepathE == null) { throw new CIMXMLParseException(); } + if (instancepathE == null) { throw new CIMXMLParseException( + "VALUE.INSTANCEWITHPATH element missing INSTANCEPATH child element!"); } CIMObjectPath op = parseINSTANCEPATH(instancepathE); // INSTANCE Element instanceE = (Element) searchFirstNode(pValueNamedInstanceE, "INSTANCE"); - if (instanceE == null) { throw new CIMXMLParseException(); } + if (instanceE == null) { throw new CIMXMLParseException( + "VALUE.INSTANCEWITHPATH element missing INSTANCE child element!"); } CIMInstance inst = parseINSTANCE(instanceE, op); // BB mod return inst; } @@ -419,12 +426,13 @@ // INSTANCE Element instanceE = (Element) searchFirstNode(pValueNamedObjectE, "INSTANCE"); - if (instanceE == null) { throw new CIMXMLParseException(); } + if (instanceE == null) { throw new CIMXMLParseException( + "VALUE.NAMEDOBJECT element missing INSTANCE child element!"); } CIMInstance inst = parseINSTANCE(instanceE, op); // BB mod return inst; } - throw new CIMXMLParseException(); + throw new CIMXMLParseException("VALUE.NAMEDOBJECT element missing required child element!"); } /** @@ -446,7 +454,8 @@ // CLASS Element classE = (Element) searchFirstNode(pValueObjectWithPathE, "CLASS"); - if (classE == null) { throw new CIMXMLParseException(); } + if (classE == null) { throw new CIMXMLParseException( + "VALUE.OBJECTWITHPATH element missing CLASS child element!"); } // TODO parse CLASS with ObjectPath CIMClass obj = parseCLASS(classE); return obj; @@ -459,12 +468,14 @@ // INSTANCE Element instanceE = (Element) searchFirstNode(pValueObjectWithPathE, "INSTANCE"); - if (instanceE == null) { throw new CIMXMLParseException(); } + if (instanceE == null) { throw new CIMXMLParseException( + "VALUE.OBJECTWITHPATH element missing INSTANCE child element!"); } CIMInstance inst = parseINSTANCE(instanceE, op); // BB mod return inst; } - throw new CIMXMLParseException(); + throw new CIMXMLParseException( + "VALUE.OBJECTWITHPATH element missing required child element!"); } /** @@ -487,7 +498,8 @@ // CLASS Element classE = (Element) searchFirstNode(pValueObjectWithLocalPathE, "CLASS"); - if (classE == null) { throw new CIMXMLParseException(); } + if (classE == null) { throw new CIMXMLParseException( + "VALUE.OBJECTWITHLOCALPATH element missing CLASS child element!"); } // TODO parse class with path CIMClass obj = parseCLASS(classE); return obj; @@ -501,12 +513,14 @@ // INSTANCE Element instanceE = (Element) searchFirstNode(pValueObjectWithLocalPathE, "INSTANCE"); - if (instanceE == null) { throw new CIMXMLParseException(); } + if (instanceE == null) { throw new CIMXMLParseException( + "VALUE.OBJECTWITHLOCALPATH element missing INSTANCE child element!"); } CIMInstance inst = parseINSTANCE(instanceE, op); // BB mod return inst; } - throw new CIMXMLParseException(); + throw new CIMXMLParseException( + "VALUE.OBJECTWITHLOCALPATH element missing required child element!"); } // //////////////////////////////////////////////////////////////////////////////////////// @@ -525,12 +539,14 @@ // <!ELEMENT NAMESPACEPATH (HOST,LOCALNAMESPACEPATH)> // HOST Element hostE = (Element) searchFirstNode(pNameSpacePathE, "HOST"); - if (hostE == null) { throw new CIMXMLParseException(); } + if (hostE == null) { throw new CIMXMLParseException( + "NAMESPACEPATH element missing HOST child element!"); } XMLHostStr xmlHostStr = new XMLHostStr(parseHOST(hostE)); // LOCALNAMESPACE Element localnamespacepathE = (Element) searchFirstNode(pNameSpacePathE, "LOCALNAMESPACEPATH"); - if (localnamespacepathE == null) { throw new CIMXMLParseException(); } + if (localnamespacepathE == null) { throw new CIMXMLParseException( + "NAMESPACEPATH element missing LOCALNAMESPACEPATH child element!"); } String nameSpace = parseLOCALNAMESPACEPATH(localnamespacepathE); /* * CIMObjectPath( String scheme, String host, String port, String @@ -554,7 +570,7 @@ Element[] nameSpaceElementA = searchNodes(pLocalNameSpaceE, "NAMESPACE"); if (nameSpaceElementA == null) { if (cLocalPathBuilder == null) throw new CIMXMLParseException( - "NAMESPACE child element is mandatory for LOCALNAMESPACEPATH element!"); + "LOCALNAMESPACEPATH element missing NAMESPACE child element!"); return cLocalPathBuilder.getBasePath().getNamespace(); } StringBuffer sb = new StringBuffer(); @@ -593,7 +609,8 @@ // <!ATTLIST NAMESPACE %NAME;> Attr namespace_nameA = (Attr) searchAttribute(pNameSpaceE, "NAME"); - if (namespace_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (namespace_nameA == null) throw new CIMXMLParseException( + "NAMESPACE element missing NAME attribute!"); String n = namespace_nameA.getValue(); return n; } @@ -610,11 +627,13 @@ // NAMESPACEPATH Element namespacepathE = (Element) searchFirstNode(pClassPathE, "NAMESPACEPATH"); - if (namespacepathE == null) { throw new CIMXMLParseException(); } + if (namespacepathE == null) { throw new CIMXMLParseException( + "CLASSPATH element missing NAMESPACEPATH child element!"); } CIMObjectPath nsPath = parseNAMESPACEPATH(namespacepathE); // CLASSNAME Element classnameE = (Element) searchFirstNode(pClassPathE, "CLASSNAME"); - if (classnameE == null) { throw new CIMXMLParseException(); } + if (classnameE == null) { throw new CIMXMLParseException( + "CLASSPATH element missing CLASSNAME child element!"); } String className = parseClassName(classnameE); /* * CIMObjectPath( String scheme, String host, String port, String @@ -637,12 +656,14 @@ // NAMESPACEPATH Element localnamespacepathE = (Element) searchFirstNode(pClassPathE, "LOCALNAMESPACEPATH"); - if (localnamespacepathE == null) { throw new CIMXMLParseException(); } + if (localnamespacepathE == null) { throw new CIMXMLParseException( + "LOCALCLASSPATH element missing LOCALNAMESPACEPATH child element!"); } String nameSpace = parseLOCALNAMESPACEPATH(localnamespacepathE); // CLASSNAME Element classnameE = (Element) searchFirstNode(pClassPathE, "CLASSNAME"); - if (classnameE == null) { throw new CIMXMLParseException(); } + if (classnameE == null) { throw new CIMXMLParseException( + "LOCALCLASSPATH element missing CLASSNAME child element!"); } CIMObjectPath op = parseCLASSNAME(classnameE); return cLocalPathBuilder.build(op.getObjectName(), nameSpace); } @@ -658,7 +679,8 @@ // <!ELEMENT CLASSNAME EMPTY> // <!ATTLIST CLASSNAME %NAME;> Attr classname_nameA = (Attr) searchAttribute(pClassNameE, "NAME"); - if (classname_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (classname_nameA == null) throw new CIMXMLParseException( + "CLASSNAME element missing NAME attribute!"); return classname_nameA.getNodeValue(); } @@ -686,11 +708,13 @@ // NAMESPACEPATH Element namespacepathE = (Element) searchFirstNode(pInstancePathE, "NAMESPACEPATH"); - if (namespacepathE == null) { throw new CIMXMLParseException(); } + if (namespacepathE == null) { throw new CIMXMLParseException( + "INSTANCEPATH element missing NAMESPACEPATH child element!"); } CIMObjectPath nsPath = parseNAMESPACEPATH(namespacepathE); // INSTANCENAME Element instancenameE = (Element) searchFirstNode(pInstancePathE, "INSTANCENAME"); - if (instancenameE == null) { throw new CIMXMLParseException(); } + if (instancenameE == null) { throw new CIMXMLParseException( + "INSTANCEPATH element missing INSTANCENAME child element!"); } CIMObjectPath op = parseINSTANCENAME(instancenameE); // ebak: change host and namespace return new CIMObjectPath(nsPath.getScheme(), nsPath.getHost(), nsPath.getPort(), nsPath @@ -711,12 +735,14 @@ // LOCALNAMESPACEPATH Element localnamespacepathE = (Element) searchFirstNode(pLocalInstancePathE, "LOCALNAMESPACEPATH"); - if (localnamespacepathE == null) { throw new CIMXMLParseException(); } + if (localnamespacepathE == null) { throw new CIMXMLParseException( + "LOCALINSTANCEPATH element missing LOCALNAMESPACEPATH child element!"); } String nameSpace = parseLOCALNAMESPACEPATH(localnamespacepathE); // INSTANCENAME Element instancenameE = (Element) searchFirstNode(pLocalInstancePathE, "INSTANCENAME"); - if (instancenameE == null) { throw new CIMXMLParseException(); } + if (instancenameE == null) { throw new CIMXMLParseException( + "LOCALINSTANCEPATH element missing INSTANCENAME child element!"); } CIMObjectPath op = parseINSTANCENAME(instancenameE); /* * CIMObjectPath(String objectName, String namespace, CIMProperty[] @@ -738,7 +764,7 @@ // <!ATTLIST INSTANCENAME %CLASSNAME;> Attr instance_classnameA = (Attr) searchAttribute(pInstanceNameE, "CLASSNAME"); if (instance_classnameA == null) throw new CIMXMLParseException( - "CLASSNAME attribute not found!"); + "INSTANCENAME element missing CLASSNAME attribute!"); String opClassName = instance_classnameA.getNodeValue(); // KEYBINDING @@ -779,7 +805,7 @@ return op; } - throw new CIMXMLParseException(); + throw new CIMXMLParseException("OBJECTPATH element missing required child element!"); } /** @@ -794,7 +820,8 @@ // <!ATTLIST KEYBINDING %NAME;> Attr keybinding_nameA = (Attr) searchAttribute(pKeyBindingE, "NAME"); - if (keybinding_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (keybinding_nameA == null) throw new CIMXMLParseException( + "KEYBINDING element missing NAME attribute!"); String propName = keybinding_nameA.getValue(); // CIMProperty prop = new CIMProperty(pName); @@ -814,7 +841,7 @@ op, true, false, null); } - throw new CIMXMLParseException(); + throw new CIMXMLParseException("KEYBINDING element missing required child element!"); } private static final TreeMap<String, CIMDataType> TYPESTR_MAP = new TreeMap<String, CIMDataType>( @@ -884,7 +911,7 @@ throws CIMXMLParseException { if (pTypeStr == null) return pArray ? CIMDataType.STRING_ARRAY_T : CIMDataType.STRING_T; CIMDataType type = TYPESTR_MAP.get(pTypeStr); - if (type == null) throw new CIMXMLParseException("Unknown type string:" + pTypeStr); + if (type == null) throw new CIMXMLParseException("Unknown TYPE string:" + pTypeStr); if (pArray) { if (type.getType() == CIMDataType.REFERENCE) return new CIMDataType(type .getRefClassName(), 0); @@ -945,7 +972,7 @@ public ValueTypeHandler(String pValueTypeStr, String pValueStr) throws CIMXMLParseException { if (pValueTypeStr == null) throw new CIMXMLParseException( - "KEYVALUE node must have a VALUETYPE attribute!"); + "KEYVALUE element missing VALUETYPE attribute!"); if (pValueTypeStr.equals("numeric")) { if (!setUInt64(pValueStr) && !setSInt64(pValueStr) && !setReal64(pValueStr)) throw new CIMXMLParseException( @@ -957,9 +984,9 @@ } } else if (pValueTypeStr.equals(MOF.DT_BOOL)) { if (!setBoolean(pValueStr)) throw new CIMXMLParseException( - "Unparsable \"boolean\" value: " + pValueStr + " !"); + "Unparseable \"boolean\" value: " + pValueStr + " !"); } else { - throw new CIMXMLParseException("KEYVALUE node's VALUETYPE attribute must be " + throw new CIMXMLParseException("KEYVALUE element's VALUETYPE attribute must be " + MOF.DT_STR + ", " + MOF.DT_BOOL + " or numeric! " + pValueStr + " is not allowed!"); } @@ -1072,7 +1099,8 @@ // <!ATTLIST CLASS %NAME;%SUPERCLASS;> Attr class_nameA = (Attr) searchAttribute(pClassE, "NAME"); - if (class_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (class_nameA == null) throw new CIMXMLParseException( + "CLASS element missing NAME attribute!"); String name = class_nameA.getNodeValue(); // Attr superclass_nameA = (Attr)searchAttribute(classE, "SUPERCLASS"); @@ -1190,7 +1218,7 @@ // %Propagated;> String name = attribute(pMethodE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException("METHOD element missing NAME attribute!"); EmbObjHandler embObjHandler = new EmbObjHandler(pMethodE); CIMDataType type = embObjHandler.getType(); if (type.isArray()) throw new CIMXMLParseException("Method's type cannot be Array!"); @@ -1215,7 +1243,8 @@ */ public static CIMParameter<Object> parsePARAMETER(Element pParamE) throws CIMXMLParseException { String name = attribute(pParamE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "PARAMETER element missing NAME attribute!"); EmbObjHandler iEmbObjHandler = new EmbObjHandler(pParamE); // CIMParameter(String name, CIMDataType type, CIMQualifier[] // qualifiers) @@ -1233,7 +1262,8 @@ public static CIMParameter<Object> parsePARAMETERREFERENCE(Element pParamE) throws CIMXMLParseException { String name = attribute(pParamE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "PARAMETER.REFERENCE element missing NAME attribute!"); String referenceClass = attribute(pParamE, "REFERENCECLASS"); CIMDataType type = new CIMDataType(referenceClass != null ? referenceClass : ""); // QUALIFIER @@ -1251,7 +1281,8 @@ public static CIMParameter<Object> parsePARAMETERARRAY(Element pParamE) throws CIMXMLParseException { String name = attribute(pParamE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "PARAMETER.ARRAY element missing NAME attribute!"); EmbObjHandler iEmbObjHandler = new EmbObjHandler(pParamE); return new CIMParameter<Object>(name, iEmbObjHandler.getArrayType(), iEmbObjHandler .getQualifiers()); @@ -1267,7 +1298,8 @@ public static CIMParameter<Object> parsePARAMETERREFARRAY(Element pParamE) throws CIMXMLParseException { String name = attribute(pParamE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "PARAMETER.REFARRAY element missing NAME attribute!"); String referenceClass = attribute(pParamE, "REFERENCECLASS"); @@ -1315,7 +1347,8 @@ // BB mod CIMInstance inst = new CIMInstance(); String className = attribute(pInstanceE, "CLASSNAME"); - if (className == null) throw new CIMXMLParseException("CLASSNAME attribute not found!"); + if (className == null) throw new CIMXMLParseException( + "INSTANCE element missing CLASSNAME attribute!"); // QUALIFIER // FIXME: in JSR48 CIMInstance doesn't have qualifiers // CIMQualifier[] qualis = parseQUALIFIERS(pInstanceE); @@ -1449,7 +1482,8 @@ // <!ATTLIST QUALIFIER %NAME;%TYPE;%PROPAGATED;%QUALIFIERFLAVOR;> String name = attribute(pQualifierE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "QUALIFIER element missing NAME attribute!"); boolean propagated = MOF.TRUE.equalsIgnoreCase(pQualifierE.getAttribute("PROPAGATED")); // FLAVORS int flavors = parseFLAVORS(pQualifierE); @@ -1481,7 +1515,8 @@ // %QualifierFlavor;> String name = attribute(pQualifierTypeE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "QUALIFIER.DECLARATION element missing NAME attribute!"); // SCOPES // ebak: there should be only 1 scope node @@ -1964,7 +1999,8 @@ // <!ATTLIST PROPERTY %NAME;%TYPE;%CLASSORIGIN;%PROPAGATED;> Attr property_nameA = (Attr) searchAttribute(pPropertyE, "NAME"); - if (property_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (property_nameA == null) throw new CIMXMLParseException( + "PROPERTY element missing NAME attribute!"); String name = property_nameA.getNodeValue(); String classOrigin = pPropertyE.getAttribute("CLASSORIGIN"); @@ -2012,7 +2048,8 @@ // %NAME;%TYPE;%ARRAYSIZE;%CLASSORIGIN;%PROPAGATED;> String name = pPropArrayE.getAttribute("NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "PROPERTY.ARRAY element missing NAME attribute!"); // String valueArraysizeStr = propertyarrayE.getAttribute("ARRAYSIZE"); @@ -2057,7 +2094,8 @@ // %NAME;%REFERENCECLASS;%CLASSORIGIN;%PROPAGATED;> String name = pPropRefE.getAttribute("NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "PROPERTY.REFERENCE element missing NAME attribute!"); String classOrigin = pPropRefE.getAttribute("CLASSORIGIN"); if (classOrigin != null && classOrigin.length() == 0) classOrigin = null; @@ -2097,12 +2135,12 @@ // <!ATTLIST MESSAGE %ID;%PROTOCOLVERSION;> Attr idA = (Attr) searchAttribute(pMessageE, "ID"); - if (idA == null) throw new CIMXMLParseException("ID attribute not found!"); + if (idA == null) throw new CIMXMLParseException("MESSAGE element missing ID attribute!"); String id = idA.getNodeValue(); Attr protocolA = (Attr) searchAttribute(pMessageE, "PROTOCOLVERSION"); if (protocolA == null) throw new CIMXMLParseException( - "PROTOCOLVERSION attribute not found!"); + "MESSAGE element missing PROTOCOLVERSION attribute!"); // TODO if (pCimVersion.equals("2.0") && pDtdVersion.equals("2.0")) { @@ -2172,7 +2210,7 @@ request.setId(id); return request; } - throw new CIMXMLParseException(); + throw new CIMXMLParseException("MESSAGE element missing required child element!"); } // TODO, look for the specific error message in the spec throw new CIMXMLParseException("DTD not supported"); @@ -2191,7 +2229,8 @@ // (VALUE|VALUE.REFERENCE|VALUE.ARRAY|VALUE.REFARRAY)?>) // <!ATTLIST PARAMTYPE %NAME;%PARAMTYPE%> String name = attribute(pParamValueE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "PARAMVALUE element missing NAME attribute!"); // FIXME: ebak: The base implementation didn't contain VALUE.REFARRAY // handling. Why? // ebak: embedded object support, different parsing for VALUE and @@ -2201,7 +2240,7 @@ TypedValue typedValue = parseSingleValue(pParamValueE, VALUEREF); CIMDataType type = typedValue.getType(); Object value = typedValue.getValue(); - if (type == null) throw new CIMXMLParseException("Type is null!"); + if (type == null) throw new CIMXMLParseException("PARAMVALUE element type is null!"); return new CIMArgument<Object>(name, type, value); } EmbObjHandler embObjHandler = new EmbObjHandler(pParamValueE); @@ -2224,7 +2263,8 @@ // %CIMName;> String name = attribute(pParamValueE, "NAME"); - if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (name == null) throw new CIMXMLParseException( + "IPARAMVALUE element missing NAME attribute!"); // this can parse VALUE, VALUE.ARRAY and VALUE.REFERENCE TypedValue typedValue = parseSingleValue(pParamValueE, VALUE | VALUEA | VALUEREF); if (typedValue.getType() != null) { return new CIMArgument<Object>(name, typedValue @@ -2299,7 +2339,7 @@ Element imethodresponseE = (Element) searchFirstNode(pSimpleRspE, "IMETHODRESPONSE"); if (imethodresponseE != null) { return parseIMETHODRESPONSE(imethodresponseE); } - throw new CIMXMLParseException(); + throw new CIMXMLParseException("SIMPLERSP element missing required child element!"); } /** @@ -2324,7 +2364,7 @@ return multiRsp; } - throw new CIMXMLParseException("SIMPLRESP nodes aren't found!"); + throw new CIMXMLParseException("MULTIRSP element missing SIMPLERSP child element!"); } /** @@ -2345,7 +2385,7 @@ Element imethodcallE = (Element) searchFirstNode(pSimpleReqE, "IMETHODCALL"); if (imethodcallE != null) { return parseIMETHODCALL(imethodcallE); } - throw new CIMXMLParseException("METHODCALL or IMETHODCALL nodes aren't found!"); + throw new CIMXMLParseException("SIMPLEREQ element missing required child element!"); } /** @@ -2370,7 +2410,7 @@ } return multiReq; } - throw new CIMXMLParseException("MULTIREQ nodes aren't found!"); + throw new CIMXMLParseException("MULTIREQ element missing SIMPLEREQ child element!"); } /** @@ -2386,7 +2426,7 @@ // <!ATTLIST METHODCALL // %CIMName;> if (pMethodCallE.getAttribute("NAME") == null) throw new CIMXMLParseException( - "NAME attribute not found!"); + "METHODCALL element missing NAME attribute!"); CIMRequest request = new CIMRequest(); String methodname = pMethodCallE.getAttribute("CIMName"); @@ -2409,7 +2449,7 @@ request.setObjectPath(path); } else { if (!localclasspathFound) throw new CIMXMLParseException( - "LOCALCLASSPATH or LOCALINSTANCEPATH not found!"); + "METHODCALL element missing required child element!"); } Element[] paramValueElementA = searchNodes(pMethodCallE, "PARAMVALUE"); @@ -2441,7 +2481,8 @@ CIMRequest request = new CIMRequest(); String methodname = pIMethodCallE.getAttribute("NAME"); // ebak: // CIMName->NAME - if (methodname == null) throw new CIMXMLParseException("NAME attribute not found!"); + if (methodname == null) throw new CIMXMLParseException( + "IMETHODCALL element missing NAME attribute!"); request.setMethodName(methodname); // METHODCALL @@ -2481,7 +2522,7 @@ return request; } - throw new CIMXMLParseException("IPARAMVALUE node not found!"); + throw new CIMXMLParseException("IMETHODCALL element missing IPARAMVALUE child element!"); } /** @@ -2523,7 +2564,7 @@ } return multiReq; } - throw new CIMXMLParseException("SIMPLEEXREQ node not found!"); + throw new CIMXMLParseException("MULTIEXPREQ element missing SIMPLEEXPREQ child element!"); } /** @@ -2570,7 +2611,7 @@ CIMInstance inst = parseINSTANCE(instanceE); return inst; } - throw new CIMXMLParseException("INSTANCE node not found!"); + throw new CIMXMLParseException("EXPPARAMVALUE element missing INSTANCE child element!"); } /** @@ -2584,7 +2625,7 @@ throws CIMXMLParseException { // <!ELEMENT METHODRESPONSE (ERROR|(RETURNVALUE?,PARAMVALUE*))> if (pMethodResponseE.getAttribute("NAME") == null) throw new CIMXMLParseException( - "NAME attribute not found!"); + "METHODRESPONSE element missing NAME attribute!"); CIMResponse response = new CIMResponse(); @@ -2651,7 +2692,7 @@ throws CIMXMLParseException { // <!ELEMENT IMETHODRESPONSE (ERROR|(IRETURNVALUE?, PARAMVALUE*))> if (pIMethodResponseE.getAttribute("NAME") == null) throw new CIMXMLParseException( - "NAME attribute not found!"); + "IMETHODRESPONSE element missing NAME attribute!"); CIMResponse response = new CIMResponse(); // ERROR @@ -2700,7 +2741,8 @@ // <!ATTLSIT ERROR %CODE;%DESCRIPTION;> Attr error_codeA = (Attr) searchAttribute(pErrorE, "CODE"); - if (error_codeA == null) throw new CIMXMLParseException("CODE attribute not found!"); + if (error_codeA == null) throw new CIMXMLParseException( + "ERROR element missing CODE attribute!"); String code = error_codeA.getNodeValue(); int errorCode = 0; try { @@ -2753,7 +2795,7 @@ } TypedValue typedVal = parseSingleValue(pRetValE, VALUEREF); if (typedVal.getType() == null) throw new CIMXMLParseException( - "VALUE or VALUE.REFERENCE nodes not found!"); + "RETURNVALUE element missing required child element!"); Object value = typedVal.getValue(); return value; } @@ -3159,7 +3201,8 @@ Element expmethodresponseE = (Element) searchFirstNode(pSimpleExpRspE, "EXPMETHODRESPONSE"); if (expmethodresponseE != null) { return parseEXPMETHODRESPONSE(expmethodresponseE); } - throw new CIMXMLParseException("EXPMETHODRESPONSE node not found!"); + throw new CIMXMLParseException( + "SIMPLEEXPRSP element missing EXPMETHODRESPONSE child element!"); } /** |
From: Dave B. <bla...@us...> - 2013-09-26 23:23:59
|
Update of /cvsroot/sblim/jsr48-client/src/javax/cim In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv5652/src/javax/cim Modified Files: Tag: Experimental CIMDateTimeInterval.java CIMDateTimeAbsolute.java Log Message: 2674 Null pointer exception in CIMDateTime(String) Index: CIMDateTimeInterval.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMDateTimeInterval.java,v retrieving revision 1.5.2.19 retrieving revision 1.5.2.20 diff -u -d -r1.5.2.19 -r1.5.2.20 --- CIMDateTimeInterval.java 7 Sep 2012 16:40:31 -0000 1.5.2.19 +++ CIMDateTimeInterval.java 26 Sep 2013 23:23:56 -0000 1.5.2.20 @@ -31,6 +31,7 @@ * 3026302 2010-07-07 blaschke-oss CIMDateTimeInterval uses # constructor instead of valueOf * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues * 3565581 2012-09-07 blaschke-oss TCK: remove unnecessary overriding methods + * 2674 2013-09-26 blaschke-oss Null pointer exception in CIMDateTime(String) */ package javax.cim; @@ -194,6 +195,8 @@ * If string is not in the correct format. */ public CIMDateTimeInterval(String pIntervalString) throws IllegalArgumentException { + if (pIntervalString == null) throw new IllegalArgumentException( + "Null IntervalString is not allowed!"); if (pIntervalString.length() != LENGTH) throw new IllegalArgumentException("Length of " + pIntervalString + " must be " + LENGTH + ", " + pIntervalString.length() + " is not valid!"); Index: CIMDateTimeAbsolute.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMDateTimeAbsolute.java,v retrieving revision 1.7.2.18 retrieving revision 1.7.2.19 diff -u -d -r1.7.2.18 -r1.7.2.19 --- CIMDateTimeAbsolute.java 7 Sep 2012 16:40:31 -0000 1.7.2.18 +++ CIMDateTimeAbsolute.java 26 Sep 2013 23:23:56 -0000 1.7.2.19 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2012 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -27,6 +27,7 @@ * 3022501 2010-06-30 blaschke-oss Possible integer overflow in getTotalUSec * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues * 3565581 2012-09-07 blaschke-oss TCK: remove unnecessary overriding methods + * 2674 2013-09-26 blaschke-oss Null pointer exception in CIMDateTime(String) */ package javax.cim; @@ -86,7 +87,7 @@ * If <code>Calendar</code> object is <code>null</code>. */ public CIMDateTimeAbsolute(Calendar pCalendar) throws IllegalArgumentException { - if (pCalendar == null) throw new IllegalArgumentException("null Calendar is not allowed!"); + if (pCalendar == null) throw new IllegalArgumentException("Null Calendar is not allowed!"); if (pCalendar.get(Calendar.YEAR) > 9999) throw new IllegalArgumentException( "The year field cannot be greater than 9999!"); set(pCalendar); @@ -101,6 +102,7 @@ * If string is not in the correct format. */ public CIMDateTimeAbsolute(String pDateTime) throws IllegalArgumentException { + if (pDateTime == null) throw new IllegalArgumentException("Null DateTime is not allowed!"); DTStringReader reader = new DTStringReader(pDateTime); this.iYear = reader.readAndCheck(4, "year", 0, 9999, true); this.iMonth = reader.readAndCheck(2, "month", 1, 12, true); |
From: Dave B. <bla...@us...> - 2013-09-26 23:23:58
|
Update of /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/cim In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv5652/utst/org/sblim/cimclient/unittest/cim Modified Files: Tag: Experimental CIMDateTimeIntervalTest.java CIMDateTimeAbsoluteTest.java Log Message: 2674 Null pointer exception in CIMDateTime(String) Index: CIMDateTimeIntervalTest.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/cim/CIMDateTimeIntervalTest.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- CIMDateTimeIntervalTest.java 30 Apr 2010 17:03:57 -0000 1.1.2.8 +++ CIMDateTimeIntervalTest.java 26 Sep 2013 23:23:55 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2989367 2010-04-29 blaschke-oss CIMDateTimeInterval(long) constructor range wrong * 2989424 2010-04-29 blaschke-oss TCK: CIMDateTimeInterval constructor * 2994252 2010-04-30 blaschke-oss CIMDateTimeInterval.getTotalMilliseconds() not unit tested + * 2674 2013-09-26 blaschke-oss Null pointer exception in CIMDateTime(String) */ package org.sblim.cimclient.unittest.cim; @@ -283,6 +284,8 @@ negativeConstruction("000001331024-1.001328:000"); negativeConstruction("00000133102418.-01328:000"); + + negativeConstruction(null); } private void checkCompareTo(CIMDateTimeInterval pThisDTI, CIMDateTimeInterval pThatDTI, Index: CIMDateTimeAbsoluteTest.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/cim/CIMDateTimeAbsoluteTest.java,v retrieving revision 1.1.2.18 retrieving revision 1.1.2.19 diff -u -d -r1.1.2.18 -r1.1.2.19 --- CIMDateTimeAbsoluteTest.java 29 Jul 2010 18:44:11 -0000 1.1.2.18 +++ CIMDateTimeAbsoluteTest.java 26 Sep 2013 23:23:55 -0000 1.1.2.19 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -22,6 +22,7 @@ * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2806362 2009-06-14 blaschke-oss Missing new CIMDateTimeAbsolute.getUTCOffset() method * 2944826 2010-02-08 blaschke-oss getUTCOffset() incorrect if not significant field + * 2674 2013-09-26 blaschke-oss Null pointer exception in CIMDateTime(String) */ package org.sblim.cimclient.unittest.cim; @@ -344,6 +345,7 @@ negativeConstruction("", "20070314160503.5660120010"); negativeConstruction("", "200703141605-3.566012+010"); negativeConstruction("", "200703141605+3.566012+010"); + negativeConstruction("", null); } /** |
From: Dave B. <bla...@us...> - 2013-09-26 20:33:15
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25248/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental NameSpaceNode.java Log Message: 2673 NameSpaceNode does not need testCompletness() Index: NameSpaceNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/NameSpaceNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- NameSpaceNode.java 2 Jul 2013 01:55:25 -0000 1.1.2.8 +++ NameSpaceNode.java 26 Sep 2013 20:33:12 -0000 1.1.2.9 @@ -19,6 +19,7 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2604 2013-07-01 blaschke-oss SAXException messages should contain node name + * 2673 2013-09-26 blaschke-oss NameSpaceNode does not need testCompletness() */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -75,9 +76,8 @@ } @Override - public void testCompletness() throws SAXException { - if (this.iNameSpaceValue == null) throw new SAXException( - "NAME attribute must contain a value in " + getNodeName() + " node!"); + public void testCompletness() { + // no child } /** |
From: Chris B. <buc...@us...> - 2013-09-26 19:33:27
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master has been updated via 94e6796ef3835ad9b7aa03e349369b8861bab5a6 (commit) via e3838be22ce623beb11c037cedea62e0e2dfc110 (commit) from 47a012a39e77ebfda24d14f97a53571aea902e40 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 94e6796ef3835ad9b7aa03e349369b8861bab5a6 Merge: e3838be 47a012a Author: buccella <buc...@li...> Date: Thu Sep 26 15:32:53 2013 -0400 Merge branch 'master' of ssh://git.code.sf.net/p/sblim/sfcb commit e3838be22ce623beb11c037cedea62e0e2dfc110 Author: buccella <buc...@li...> Date: Thu Sep 26 15:32:06 2013 -0400 [sfcb-tix#80] sfcc cannot reconnect with sfcb ----------------------------------------------------------------------- Summary of changes: cimcClientSfcbLocal.c | 6 ++---- contributions.txt | 4 ++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cimcClientSfcbLocal.c b/cimcClientSfcbLocal.c index 145e4f5..806306c 100644 --- a/cimcClientSfcbLocal.c +++ b/cimcClientSfcbLocal.c @@ -1866,8 +1866,7 @@ static pthread_mutex_t lcc_mutex = PTHREAD_MUTEX_INITIALIZER; int localConnect(ClientEnv *ce, CMPIStatus *st) { - static struct sockaddr_un serverAddr; - serverAddr.sun_path[0] = '\0'; + static struct sockaddr_un serverAddr = {AF_UNIX, {'\0'}}; int sock, rc = 0, sfcbSocket; @@ -1914,8 +1913,7 @@ localConnect(ClientEnv *ce, CMPIStatus *st) } } - serverAddr.sun_family = AF_UNIX; - if (serverAddr.sun_path == '\0') + if (serverAddr.sun_path[0] == '\0') strcpy(serverAddr.sun_path, socketName); if (connect(sock, (struct sockaddr *) &serverAddr, diff --git a/contributions.txt b/contributions.txt index 1136eac..fb85a66 100644 --- a/contributions.txt +++ b/contributions.txt @@ -231,3 +231,7 @@ Jan Safranek, Red Hat 05/16/2013 [sfcb-tix:#37] indCIMXmlHandler coredumps in IndCIMXMLHandlerInvokeMethod with Embedded Instances 05/17/2013 [sfcb-tix:#44] Escape XML for Embedded Instances Instead of Using CDATA 04/08/2013 [sfcb-tix:#48] mofc: Allow absoltute paths in #pragma include + +Rusty Peng +---------- +09/26/2013 [sfcb-tix:#80] sfcc cannot reconnect with sfcb hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2013-09-26 19:31:20
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20040/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental SimpleRspNode.java Removed Files: Tag: Experimental SimpleReqAckNode.java Log Message: 2672 Remove SIMPLEREQACK support --- SimpleReqAckNode.java DELETED --- Index: SimpleRspNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/SimpleRspNode.java,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -d -r1.1.2.11 -r1.1.2.12 --- SimpleRspNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.11 +++ SimpleRspNode.java 26 Sep 2013 19:31:17 -0000 1.1.2.12 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2012 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -21,6 +21,7 @@ * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2845211 2009-08-27 raman_arora Pull Enumeration Feature (SAX Parser) * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly + * 2672 2013-09-26 blaschke-oss Remove SIMPLEREQACK support */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -34,7 +35,7 @@ /** * <pre> - * ELEMENT SIMPLERSP (METHODRESPONSE | IMETHODRESPONSE | SIMPLEREQACK) + * ELEMENT SIMPLERSP (METHODRESPONSE | IMETHODRESPONSE) * * ELEMENT METHODRESPONSE (ERROR|(RETURNVALUE?,PARAMVALUE*)) * ELEMENT IMETHODRESPONSE (ERROR|IRETURNVALUE?) * @@ -77,9 +78,8 @@ public void testChild(String pNodeNameEnum) throws SAXException { if (this.iChildNode != null) throw new SAXException(getNodeName() + " node can have only one child node!"); - if (pNodeNameEnum != METHODRESPONSE && pNodeNameEnum != IMETHODRESPONSE - && pNodeNameEnum != SIMPLEREQACK) throw new SAXException(getNodeName() - + " node cannot have " + pNodeNameEnum + " child node!"); + if (pNodeNameEnum != METHODRESPONSE && pNodeNameEnum != IMETHODRESPONSE) throw new SAXException( + getNodeName() + " node cannot have " + pNodeNameEnum + " child node!"); } @Override |
From: Dave H. <hel...@us...> - 2013-09-26 17:29:33
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master has been updated via 47a012a39e77ebfda24d14f97a53571aea902e40 (commit) from e8d77713779d38f94248c98c7e6c568e59464fc9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 47a012a39e77ebfda24d14f97a53571aea902e40 Author: Dave Heller <hel...@us...> Date: Thu Sep 26 13:27:16 2013 -0400 [sfcb-tix:#77] Fix prototype for stopBroker ----------------------------------------------------------------------- Summary of changes: sfcBroker.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/sfcBroker.c b/sfcBroker.c index d96a6bb..c39eaa3 100644 --- a/sfcBroker.c +++ b/sfcBroker.c @@ -188,7 +188,7 @@ static int stopping = 0; extern int remSem(); static void -stopBroker() +stopBroker(void *p) { struct timespec waitTime; int sa=0,sp=0, count = 0; hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave H. <hel...@us...> - 2013-09-25 21:07:11
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master has been updated via e8d77713779d38f94248c98c7e6c568e59464fc9 (commit) from ab857f62a5c9543050b95582e143aed28508b13c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e8d77713779d38f94248c98c7e6c568e59464fc9 Author: Dave Heller <hel...@us...> Date: Wed Sep 25 17:07:29 2013 -0400 [sfcb-tix:#78] Simplify mutex handling in instance.c ----------------------------------------------------------------------- Summary of changes: instance.c | 34 ++++++++-------------------------- 1 files changed, 8 insertions(+), 26 deletions(-) diff --git a/instance.c b/instance.c index c52e130..3d97c03 100644 --- a/instance.c +++ b/instance.c @@ -75,7 +75,10 @@ struct native_instance { char **key_list; }; +static pthread_mutex_t gopMtx = PTHREAD_MUTEX_INITIALIZER; + #ifdef HAVE_DEFAULT_PROPERTIES +static pthread_mutex_t ifdpMtx = PTHREAD_MUTEX_INITIALIZER; static int instFillDefaultProperties(struct native_instance *inst, const char *ns, const char *cn); #endif @@ -497,7 +500,6 @@ __ift_setObjectPath(CMPIInstance *inst, const CMPIObjectPath * cop) static CMPIObjectPath * __ift_getObjectPath(const CMPIInstance *instance, CMPIStatus *rc) { - static CMPI_MUTEX_TYPE *mtx = NULL; static UtilHashTable *klt = NULL; int j, f = 0; @@ -541,19 +543,7 @@ __ift_getObjectPath(const CMPIInstance *instance, CMPIStatus *rc) unsigned int e, m; - if (mtx == NULL) { - int dummy = 0; - mtx = memAlloc(MEM_TRACKED, sizeof(CMPI_MUTEX_TYPE), &dummy); - *mtx = Broker->xft->newMutex(0); - } - if (! *mtx) { - mlogf(M_ERROR, M_SHOW, "--- Could not get op for instance of %s; mutex creation failure\n", cn); - if (rc) - CMSetStatus(rc, CMPI_RC_ERR_FAILED); - return NULL; - } - - Broker->xft->lockMutex(*mtx); + pthread_mutex_lock(&gopMtx); if (klt == NULL) klt = UtilFactory->newHashTable(61, UtilHashTable_charKey | @@ -568,11 +558,11 @@ __ift_getObjectPath(const CMPIInstance *instance, CMPIStatus *rc) if (rc) { CMSetStatus(rc, CMPI_RC_ERR_INVALID_CLASS); } - Broker->xft->unlockMutex(*mtx); + pthread_mutex_unlock(&gopMtx); return NULL; } } - Broker->xft->unlockMutex(*mtx); + pthread_mutex_unlock(&gopMtx); m = kl->ft->getSize(kl, NULL); for (e = 0; e < m; e++) { @@ -1088,7 +1078,6 @@ static int instFillDefaultProperties(struct native_instance *inst, const char *ns, const char *cn) { - static CMPI_MUTEX_TYPE *mtx = NULL; static UtilHashTable *clt = NULL; CMPIConstClass *cc; CMPICount pc; @@ -1097,14 +1086,7 @@ instFillDefaultProperties(struct native_instance *inst, CMPIString *pn = NULL; CMPIValue *vp; - if (mtx == NULL) { - mtx = malloc(sizeof(CMPI_MUTEX_TYPE)); - *mtx = Broker->xft->newMutex(0); - } - if (!*mtx) { - return -1; - } - Broker->xft->lockMutex(*mtx); + pthread_mutex_lock(&ifdpMtx); if (clt == NULL) clt = UtilFactory->newHashTable(61, @@ -1117,7 +1099,7 @@ instFillDefaultProperties(struct native_instance *inst, clt->ft->put(clt, strdup(cn), cc->ft->clone(cc, NULL)); } } - Broker->xft->unlockMutex(*mtx); + pthread_mutex_unlock(&ifdpMtx); if (cc) { pc = cc->ft->getPropertyCount(cc, NULL); while (pc > 0) { hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave H. <hel...@us...> - 2013-09-25 21:07:06
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master_1.3 has been updated via f2c44c35521a5c0900d0e38730711926ba17f62a (commit) from 7a65569051f0601c69c62c9eeb85097dc238001b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f2c44c35521a5c0900d0e38730711926ba17f62a Author: Dave Heller <hel...@us...> Date: Wed Sep 25 17:06:43 2013 -0400 [sfcb-tix:#78] Simplify mutex handling in instance.c ----------------------------------------------------------------------- Summary of changes: instance.c | 33 ++++++++------------------------- 1 files changed, 8 insertions(+), 25 deletions(-) diff --git a/instance.c b/instance.c index e015bce..12af95f 100644 --- a/instance.c +++ b/instance.c @@ -72,7 +72,10 @@ struct native_instance { char **key_list; }; +static pthread_mutex_t gopMtx = PTHREAD_MUTEX_INITIALIZER; + #ifdef HAVE_DEFAULT_PROPERTIES +static pthread_mutex_t ifdpMtx = PTHREAD_MUTEX_INITIALIZER; static int instFillDefaultProperties(struct native_instance *inst, const char * ns, const char * cn); #endif @@ -439,7 +442,6 @@ static CMPIStatus __ift_setObjectPath(CMPIInstance * inst, static CMPIObjectPath *__ift_getObjectPath(const CMPIInstance * instance, CMPIStatus * rc) { - static CMPI_MUTEX_TYPE * mtx = NULL; static UtilHashTable *klt = NULL; int j, f = 0; CMPIStatus tmp; @@ -480,18 +482,7 @@ static CMPIObjectPath *__ift_getObjectPath(const CMPIInstance * instance, CMPIData d; unsigned int e, m; - if (mtx == NULL) { - int dummy = 0; - mtx = memAlloc(MEM_TRACKED, sizeof(CMPI_MUTEX_TYPE), &dummy); - *mtx = Broker->xft->newMutex(0); - } - if (! *mtx) { - mlogf(M_ERROR, M_SHOW, "--- Could not get op for instance of %s; mutex creation failure\n", cn); - if(rc) - CMSetStatus(rc, CMPI_RC_ERR_FAILED); - return NULL; - } - Broker->xft->lockMutex(*mtx); + pthread_mutex_lock(&gopMtx); if (klt == NULL) klt = UtilFactory->newHashTable(61, UtilHashTable_charKey | UtilHashTable_ignoreKeyCase); @@ -504,11 +495,11 @@ static CMPIObjectPath *__ift_getObjectPath(const CMPIInstance * instance, if(rc) { CMSetStatus(rc, CMPI_RC_ERR_INVALID_CLASS); } - Broker->xft->unlockMutex(*mtx); + pthread_mutex_unlock(&gopMtx); return NULL; } } - Broker->xft->unlockMutex(*mtx); + pthread_mutex_unlock(&gopMtx); m = kl->ft->getSize(kl, NULL); for (e = 0; e < m; e++) { @@ -1030,7 +1021,6 @@ void setInstanceLocalMode(int mode) static int instFillDefaultProperties(struct native_instance *inst, const char * ns, const char * cn) { - static CMPI_MUTEX_TYPE * mtx = NULL; static UtilHashTable *clt = NULL; CMPIConstClass *cc; CMPICount pc; @@ -1039,14 +1029,7 @@ static int instFillDefaultProperties(struct native_instance *inst, CMPIString *pn = NULL; CMPIValue *vp; - if (mtx == NULL) { - mtx = malloc(sizeof(CMPI_MUTEX_TYPE)); - *mtx = Broker->xft->newMutex(0); - } - if (!*mtx) { - return -1; - } - Broker->xft->lockMutex(*mtx); + pthread_mutex_lock(&ifdpMtx); if (clt == NULL) clt = UtilFactory->newHashTable(61, UtilHashTable_charKey | UtilHashTable_ignoreKeyCase); @@ -1057,7 +1040,7 @@ static int instFillDefaultProperties(struct native_instance *inst, clt->ft->put(clt, strdup(cn), cc->ft->clone(cc,NULL)); } } - Broker->xft->unlockMutex(*mtx); + pthread_mutex_unlock(&ifdpMtx); if (cc) { pc = cc->ft->getPropertyCount(cc,NULL); while (pc > 0) { hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2013-09-25 18:14:44
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6453/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2671 Potential null pointer exception in parseERROR Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.46 retrieving revision 1.14.2.47 diff -u -d -r1.14.2.46 -r1.14.2.47 --- CIMXMLParserImpl.java 25 Sep 2013 17:43:24 -0000 1.14.2.46 +++ CIMXMLParserImpl.java 25 Sep 2013 18:14:42 -0000 1.14.2.47 @@ -63,6 +63,7 @@ * 2668 2013-09-24 blaschke-oss Potential null pointer exception in parseCIM * 2669 2013-09-24 blaschke-oss Potential null pointer exception in parseMESSAGE * 2670 2013-09-25 blaschke-oss NAME attribute not required by DOM parser + * 2671 2013-09-25 blaschke-oss Potential null pointer exception in parseERROR */ package org.sblim.cimclient.internal.cimxml; @@ -2699,6 +2700,7 @@ // <!ATTLSIT ERROR %CODE;%DESCRIPTION;> Attr error_codeA = (Attr) searchAttribute(pErrorE, "CODE"); + if (error_codeA == null) throw new CIMXMLParseException("CODE attribute not found!"); String code = error_codeA.getNodeValue(); int errorCode = 0; try { |
From: Dave B. <bla...@us...> - 2013-09-25 17:43:27
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv4552/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2670 NAME attribute not required by DOM parser Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.45 retrieving revision 1.14.2.46 diff -u -d -r1.14.2.45 -r1.14.2.46 --- CIMXMLParserImpl.java 24 Sep 2013 23:08:04 -0000 1.14.2.45 +++ CIMXMLParserImpl.java 25 Sep 2013 17:43:24 -0000 1.14.2.46 @@ -62,6 +62,7 @@ * 2640 2013-05-11 blaschke-oss Multiple CDATA parsing broken in DOM parser * 2668 2013-09-24 blaschke-oss Potential null pointer exception in parseCIM * 2669 2013-09-24 blaschke-oss Potential null pointer exception in parseMESSAGE + * 2670 2013-09-25 blaschke-oss NAME attribute not required by DOM parser */ package org.sblim.cimclient.internal.cimxml; @@ -584,12 +585,14 @@ * * @param pNameSpaceE * @return String + * @throws CIMXMLParseException */ - public static String parseNAMESPACE(Element pNameSpaceE) { + public static String parseNAMESPACE(Element pNameSpaceE) throws CIMXMLParseException { // <!ELEMENT NAMESPACE EMPTY> // <!ATTLIST NAMESPACE %NAME;> Attr namespace_nameA = (Attr) searchAttribute(pNameSpaceE, "NAME"); + if (namespace_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); String n = namespace_nameA.getValue(); return n; } @@ -648,11 +651,13 @@ * * @param pClassNameE * @return String + * @throws CIMXMLParseException */ - public static String parseClassName(Element pClassNameE) { + public static String parseClassName(Element pClassNameE) throws CIMXMLParseException { // <!ELEMENT CLASSNAME EMPTY> // <!ATTLIST CLASSNAME %NAME;> Attr classname_nameA = (Attr) searchAttribute(pClassNameE, "NAME"); + if (classname_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); return classname_nameA.getNodeValue(); } @@ -661,8 +666,9 @@ * * @param pClassNameE * @return CIMObjectPath + * @throws CIMXMLParseException */ - public static CIMObjectPath parseCLASSNAME(Element pClassNameE) { + public static CIMObjectPath parseCLASSNAME(Element pClassNameE) throws CIMXMLParseException { return cLocalPathBuilder.build(parseClassName(pClassNameE), null); } @@ -730,6 +736,8 @@ // <!ELEMENT INSTANCENAME (KEYBINDING*|KEYVALUE?|VALUE.REFERNCE?)> // <!ATTLIST INSTANCENAME %CLASSNAME;> Attr instance_classnameA = (Attr) searchAttribute(pInstanceNameE, "CLASSNAME"); + if (instance_classnameA == null) throw new CIMXMLParseException( + "CLASSNAME attribute not found!"); String opClassName = instance_classnameA.getNodeValue(); // KEYBINDING @@ -785,6 +793,7 @@ // <!ATTLIST KEYBINDING %NAME;> Attr keybinding_nameA = (Attr) searchAttribute(pKeyBindingE, "NAME"); + if (keybinding_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); String propName = keybinding_nameA.getValue(); // CIMProperty prop = new CIMProperty(pName); @@ -1062,6 +1071,7 @@ // <!ATTLIST CLASS %NAME;%SUPERCLASS;> Attr class_nameA = (Attr) searchAttribute(pClassE, "NAME"); + if (class_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); String name = class_nameA.getNodeValue(); // Attr superclass_nameA = (Attr)searchAttribute(classE, "SUPERCLASS"); @@ -1179,6 +1189,7 @@ // %Propagated;> String name = attribute(pMethodE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); EmbObjHandler embObjHandler = new EmbObjHandler(pMethodE); CIMDataType type = embObjHandler.getType(); if (type.isArray()) throw new CIMXMLParseException("Method's type cannot be Array!"); @@ -1203,6 +1214,7 @@ */ public static CIMParameter<Object> parsePARAMETER(Element pParamE) throws CIMXMLParseException { String name = attribute(pParamE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); EmbObjHandler iEmbObjHandler = new EmbObjHandler(pParamE); // CIMParameter(String name, CIMDataType type, CIMQualifier[] // qualifiers) @@ -1220,6 +1232,7 @@ public static CIMParameter<Object> parsePARAMETERREFERENCE(Element pParamE) throws CIMXMLParseException { String name = attribute(pParamE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); String referenceClass = attribute(pParamE, "REFERENCECLASS"); CIMDataType type = new CIMDataType(referenceClass != null ? referenceClass : ""); // QUALIFIER @@ -1237,6 +1250,7 @@ public static CIMParameter<Object> parsePARAMETERARRAY(Element pParamE) throws CIMXMLParseException { String name = attribute(pParamE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); EmbObjHandler iEmbObjHandler = new EmbObjHandler(pParamE); return new CIMParameter<Object>(name, iEmbObjHandler.getArrayType(), iEmbObjHandler .getQualifiers()); @@ -1252,6 +1266,7 @@ public static CIMParameter<Object> parsePARAMETERREFARRAY(Element pParamE) throws CIMXMLParseException { String name = attribute(pParamE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); String referenceClass = attribute(pParamE, "REFERENCECLASS"); @@ -1299,6 +1314,7 @@ // BB mod CIMInstance inst = new CIMInstance(); String className = attribute(pInstanceE, "CLASSNAME"); + if (className == null) throw new CIMXMLParseException("CLASSNAME attribute not found!"); // QUALIFIER // FIXME: in JSR48 CIMInstance doesn't have qualifiers // CIMQualifier[] qualis = parseQUALIFIERS(pInstanceE); @@ -1432,6 +1448,7 @@ // <!ATTLIST QUALIFIER %NAME;%TYPE;%PROPAGATED;%QUALIFIERFLAVOR;> String name = attribute(pQualifierE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); boolean propagated = MOF.TRUE.equalsIgnoreCase(pQualifierE.getAttribute("PROPAGATED")); // FLAVORS int flavors = parseFLAVORS(pQualifierE); @@ -1463,6 +1480,7 @@ // %QualifierFlavor;> String name = attribute(pQualifierTypeE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); // SCOPES // ebak: there should be only 1 scope node @@ -1945,6 +1963,7 @@ // <!ATTLIST PROPERTY %NAME;%TYPE;%CLASSORIGIN;%PROPAGATED;> Attr property_nameA = (Attr) searchAttribute(pPropertyE, "NAME"); + if (property_nameA == null) throw new CIMXMLParseException("NAME attribute not found!"); String name = property_nameA.getNodeValue(); String classOrigin = pPropertyE.getAttribute("CLASSORIGIN"); @@ -1992,6 +2011,7 @@ // %NAME;%TYPE;%ARRAYSIZE;%CLASSORIGIN;%PROPAGATED;> String name = pPropArrayE.getAttribute("NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); // String valueArraysizeStr = propertyarrayE.getAttribute("ARRAYSIZE"); @@ -2036,6 +2056,7 @@ // %NAME;%REFERENCECLASS;%CLASSORIGIN;%PROPAGATED;> String name = pPropRefE.getAttribute("NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); String classOrigin = pPropRefE.getAttribute("CLASSORIGIN"); if (classOrigin != null && classOrigin.length() == 0) classOrigin = null; @@ -2169,6 +2190,7 @@ // (VALUE|VALUE.REFERENCE|VALUE.ARRAY|VALUE.REFARRAY)?>) // <!ATTLIST PARAMTYPE %NAME;%PARAMTYPE%> String name = attribute(pParamValueE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); // FIXME: ebak: The base implementation didn't contain VALUE.REFARRAY // handling. Why? // ebak: embedded object support, different parsing for VALUE and @@ -2201,6 +2223,7 @@ // %CIMName;> String name = attribute(pParamValueE, "NAME"); + if (name == null) throw new CIMXMLParseException("NAME attribute not found!"); // this can parse VALUE, VALUE.ARRAY and VALUE.REFERENCE TypedValue typedValue = parseSingleValue(pParamValueE, VALUE | VALUEA | VALUEREF); if (typedValue.getType() != null) { return new CIMArgument<Object>(name, typedValue @@ -2361,6 +2384,8 @@ // ((LOCALCLASSPATH|LOCALINSTANCEPATH),PARAMVALUE*)> // <!ATTLIST METHODCALL // %CIMName;> + if (pMethodCallE.getAttribute("NAME") == null) throw new CIMXMLParseException( + "NAME attribute not found!"); CIMRequest request = new CIMRequest(); String methodname = pMethodCallE.getAttribute("CIMName"); @@ -2415,6 +2440,7 @@ CIMRequest request = new CIMRequest(); String methodname = pIMethodCallE.getAttribute("NAME"); // ebak: // CIMName->NAME + if (methodname == null) throw new CIMXMLParseException("NAME attribute not found!"); request.setMethodName(methodname); // METHODCALL @@ -2556,6 +2582,8 @@ public static CIMResponse parseMETHODRESPONSE(Element pMethodResponseE) throws CIMXMLParseException { // <!ELEMENT METHODRESPONSE (ERROR|(RETURNVALUE?,PARAMVALUE*))> + if (pMethodResponseE.getAttribute("NAME") == null) throw new CIMXMLParseException( + "NAME attribute not found!"); CIMResponse response = new CIMResponse(); @@ -2621,6 +2649,8 @@ public static CIMResponse parseIMETHODRESPONSE(Element pIMethodResponseE) throws CIMXMLParseException { // <!ELEMENT IMETHODRESPONSE (ERROR|(IRETURNVALUE?, PARAMVALUE*))> + if (pIMethodResponseE.getAttribute("NAME") == null) throw new CIMXMLParseException( + "NAME attribute not found!"); CIMResponse response = new CIMResponse(); // ERROR |
From: Dave B. <bla...@us...> - 2013-09-24 23:08:07
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18822/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2669 Potential null pointer exception in parseMESSAGE Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.44 retrieving revision 1.14.2.45 diff -u -d -r1.14.2.44 -r1.14.2.45 --- CIMXMLParserImpl.java 24 Sep 2013 20:41:59 -0000 1.14.2.44 +++ CIMXMLParserImpl.java 24 Sep 2013 23:08:04 -0000 1.14.2.45 @@ -61,6 +61,7 @@ * 2636 2013-05-08 blaschke-oss Nested embedded instances cause CIMXMLParseException * 2640 2013-05-11 blaschke-oss Multiple CDATA parsing broken in DOM parser * 2668 2013-09-24 blaschke-oss Potential null pointer exception in parseCIM + * 2669 2013-09-24 blaschke-oss Potential null pointer exception in parseMESSAGE */ package org.sblim.cimclient.internal.cimxml; @@ -2074,7 +2075,12 @@ // <!ATTLIST MESSAGE %ID;%PROTOCOLVERSION;> Attr idA = (Attr) searchAttribute(pMessageE, "ID"); + if (idA == null) throw new CIMXMLParseException("ID attribute not found!"); String id = idA.getNodeValue(); + + Attr protocolA = (Attr) searchAttribute(pMessageE, "PROTOCOLVERSION"); + if (protocolA == null) throw new CIMXMLParseException( + "PROTOCOLVERSION attribute not found!"); // TODO if (pCimVersion.equals("2.0") && pDtdVersion.equals("2.0")) { |