diff --git a/src/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp b/src/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp index c13228b3c8a89602389741fc2fcac84a795a4c8d..f6420e3947205ff0a91ad9826f25e9432692078c 100644 --- a/src/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp +++ b/src/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp @@ -334,11 +334,18 @@ XMLPlatformUtils::isRelative(const XMLCh* const toCheck) XMLCh* XMLPlatformUtils::getCurrentDirectory() { - // Return a newly allocated path to the current directory + // Get a newly allocated path to the current directory FSSpec spec; - return (noErr == FSMakeFSSpec(0, 0, NULL, &spec)) - ? XMLCreateFullPathFromFSSpec(spec) - : NULL; + XMLCh* path = + (noErr == FSMakeFSSpec(0, 0, NULL, &spec)) + ? XMLCreateFullPathFromFSSpec(spec) + : NULL; + + if (!path) + ThrowXML(XMLPlatformUtilsException, + XMLExcepts::File_CouldNotGetBasePathName); + + return path; }