diff --git a/src/storm/storage/dd/sylvan/InternalSylvanBdd.cpp b/src/storm/storage/dd/sylvan/InternalSylvanBdd.cpp index e646e473d..978a05e1d 100644 --- a/src/storm/storage/dd/sylvan/InternalSylvanBdd.cpp +++ b/src/storm/storage/dd/sylvan/InternalSylvanBdd.cpp @@ -234,14 +234,24 @@ namespace storm { void InternalBdd::exportToDot(std::string const& filename, std::vector const&, bool) const { FILE* filePointer = fopen(filename.c_str() , "a+"); - this->sylvanBdd.PrintDot(filePointer); - fclose(filePointer); + // fopen returns a nullptr on failure + if (filePointer == nullptr) { + STORM_LOG_ERROR("Failure to open file: " << filename); + } else { + this->sylvanBdd.PrintDot(filePointer); + fclose(filePointer); + } } void InternalBdd::exportToText(std::string const& filename) const { FILE* filePointer = fopen(filename.c_str() , "a+"); - this->sylvanBdd.PrintText(filePointer); - fclose(filePointer); + // fopen returns a nullptr on failure + if (filePointer == nullptr) { + STORM_LOG_ERROR("Failure to open file: " << filename); + } else { + this->sylvanBdd.PrintText(filePointer); + fclose(filePointer); + } } sylvan::Bdd& InternalBdd::getSylvanBdd() {