You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2014/02/20 12:47:32 UTC
svn commit: r1570155 - in
/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax:
ext/AbstractOutputProcessor.java
impl/processor/output/AbstractSignatureOutputProcessor.java
Author: coheigea
Date: Thu Feb 20 11:47:31 2014
New Revision: 1570155
URL: http://svn.apache.org/r1570155
Log:
Avoiding some NPEs
Modified:
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java?rev=1570155&r1=1570154&r2=1570155&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java Thu Feb 20 11:47:31 2014
@@ -249,11 +249,14 @@ public abstract class AbstractOutputProc
}
protected SecurePart securePartMatches(XMLSecStartElement xmlSecStartElement, Map<Object, SecurePart> secureParts) {
- SecurePart securePart = secureParts.get(xmlSecStartElement.getName());
- if (securePart == null) {
- Attribute attribute = xmlSecStartElement.getAttributeByName(XMLSecurityConstants.ATT_NULL_Id);
- if (attribute != null) {
- securePart = secureParts.get(attribute.getValue());
+ SecurePart securePart = null;
+ if (secureParts != null) {
+ securePart = secureParts.get(xmlSecStartElement.getName());
+ if (securePart == null) {
+ Attribute attribute = xmlSecStartElement.getAttributeByName(XMLSecurityConstants.ATT_NULL_Id);
+ if (attribute != null) {
+ securePart = secureParts.get(attribute.getValue());
+ }
}
}
return securePart;
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java?rev=1570155&r1=1570154&r2=1570155&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java Thu Feb 20 11:47:31 2014
@@ -75,12 +75,14 @@ public abstract class AbstractSignatureO
protected void doFinalInternal(OutputProcessorChain outputProcessorChain) throws XMLSecurityException, XMLStreamException {
Map<Object, SecurePart> dynamicSecureParts =
outputProcessorChain.getSecurityContext().getAsMap(XMLSecurityConstants.SIGNATURE_PARTS);
- Iterator<Map.Entry<Object, SecurePart>> securePartsMapIterator = dynamicSecureParts.entrySet().iterator();
- while (securePartsMapIterator.hasNext()) {
- Map.Entry<Object, SecurePart> securePartEntry = securePartsMapIterator.next();
- final SecurePart securePart = securePartEntry.getValue();
- if (securePart.getExternalReference() != null) {
- digestExternalReference(outputProcessorChain, securePart);
+ if (dynamicSecureParts != null) {
+ Iterator<Map.Entry<Object, SecurePart>> securePartsMapIterator = dynamicSecureParts.entrySet().iterator();
+ while (securePartsMapIterator.hasNext()) {
+ Map.Entry<Object, SecurePart> securePartEntry = securePartsMapIterator.next();
+ final SecurePart securePart = securePartEntry.getValue();
+ if (securePart.getExternalReference() != null) {
+ digestExternalReference(outputProcessorChain, securePart);
+ }
}
}
@@ -138,21 +140,23 @@ public abstract class AbstractSignatureO
protected void verifySignatureParts(OutputProcessorChain outputProcessorChain) throws XMLSecurityException {
List<SignaturePartDef> signaturePartDefs = getSignaturePartDefList();
Map<Object, SecurePart> dynamicSecureParts = outputProcessorChain.getSecurityContext().getAsMap(XMLSecurityConstants.SIGNATURE_PARTS);
- Iterator<Map.Entry<Object, SecurePart>> securePartsMapIterator = dynamicSecureParts.entrySet().iterator();
- loop:
- while (securePartsMapIterator.hasNext()) {
- Map.Entry<Object, SecurePart> securePartEntry = securePartsMapIterator.next();
- final SecurePart securePart = securePartEntry.getValue();
-
- if (securePart.isRequired()) {
- for (int i = 0; i < signaturePartDefs.size(); i++) {
- SignaturePartDef signaturePartDef = signaturePartDefs.get(i);
+ if (dynamicSecureParts != null) {
+ Iterator<Map.Entry<Object, SecurePart>> securePartsMapIterator = dynamicSecureParts.entrySet().iterator();
+ loop:
+ while (securePartsMapIterator.hasNext()) {
+ Map.Entry<Object, SecurePart> securePartEntry = securePartsMapIterator.next();
+ final SecurePart securePart = securePartEntry.getValue();
- if (signaturePartDef.getSecurePart() == securePart) {
- continue loop;
+ if (securePart.isRequired()) {
+ for (int i = 0; i < signaturePartDefs.size(); i++) {
+ SignaturePartDef signaturePartDef = signaturePartDefs.get(i);
+
+ if (signaturePartDef.getSecurePart() == securePart) {
+ continue loop;
+ }
}
+ throw new XMLSecurityException("stax.signature.securePartNotFound", securePart.getName());
}
- throw new XMLSecurityException("stax.signature.securePartNotFound", securePart.getName());
}
}
}