From e21fc7ea751362c3a2f9b4ec50ec5cb36914ea56 Mon Sep 17 00:00:00 2001 From: Tinny Ng <tng@apache.org> Date: Fri, 10 Jan 2003 16:48:47 +0000 Subject: [PATCH] [Bug 14912] crashes inside UnionDatatypeValidator::isSubstitutableBy. Patch from Alberto Massari. git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174614 13f79535-47bb-0310-9956-ffa450edef68 --- .../validators/datatype/UnionDatatypeValidator.hpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp b/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp index 98ec94260..14d6c2fce 100644 --- a/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp +++ b/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/01/10 16:48:47 tng + * [Bug 14912] crashes inside UnionDatatypeValidator::isSubstitutableBy. Patch from Alberto Massari. + * * Revision 1.4 2002/12/18 14:17:55 gareth * Fix to bug #13438. When you eant a vector that calls delete[] on its members you should use RefArrayVectorOf. * @@ -325,14 +328,15 @@ inline bool UnionDatatypeValidator::isSubstitutableBy(const DatatypeValidator* c return true; } - unsigned int memberSize = fMemberTypeValidators->size(); + if (fMemberTypeValidators) { + unsigned int memberSize = fMemberTypeValidators->size(); - for (unsigned int i=0; i < memberSize; i++) { - if (fMemberTypeValidators->elementAt(i)->isSubstitutableBy(toCheck)) { - return true; + for (unsigned int i=0; i < memberSize; i++) { + if (fMemberTypeValidators->elementAt(i)->isSubstitutableBy(toCheck)) { + return true; + } } } - return false; } -- GitLab