diff --git a/services/abilitymgr/src/mission_data_storage.cpp b/services/abilitymgr/src/mission_data_storage.cpp index 03e4b2826c80629a4915b533f81273c0f1778561..dff68f32c994e073b74d19686dfc25d40d908e83 100644 --- a/services/abilitymgr/src/mission_data_storage.cpp +++ b/services/abilitymgr/src/mission_data_storage.cpp @@ -281,6 +281,13 @@ bool MissionDataStorage::WriteToPng(const char* fileName, uint32_t width, uint32 png_destroy_write_struct(&png_ptr, &info_ptr); return false; } + + if (setjmp(png_jmpbuf(png_ptr))) { + /* If we get here, we had a problem writing the file. */ + fclose(fp); + png_destroy_write_struct(&png_ptr, &info_ptr); + return false; + } png_init_io(png_ptr, fp); // set png header