From 1851db1c771943e8e29a32b9ee783ef14eb32a89 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Mon, 17 Jun 2024 15:46:50 +0900 Subject: [PATCH] Fix issues detected by static analysis tool The pointer returned by operator new can't be null, but it's compared with null at sclgraphics-efl.cpp:706. Change-Id: I023de5818a3736e1bb97d4d8aace65b94e1ea0cb Signed-off-by: Jihoon Kim --- scl/file_storage.cpp | 5 +++-- scl/sclgraphics-efl.cpp | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/scl/file_storage.cpp b/scl/file_storage.cpp index 64d5702..3bb060f 100644 --- a/scl/file_storage.cpp +++ b/scl/file_storage.cpp @@ -16,6 +16,7 @@ */ #include "file_storage_impl.h" +#include FileStorage::FileStorage(const IString_Provider* string_provider): m_storage(NULL), @@ -156,7 +157,7 @@ int FileStorage:: fclose(fp); return -1; } - m_storage = new char[size]; + m_storage = new(std::nothrow) char[size]; if (m_storage == NULL) { fclose(fp); return -1; @@ -193,7 +194,7 @@ get_storage(const FileStorage& storage, int offset, int block_size) { delete[] m_storage; } - m_storage = new char[block_size]; + m_storage = new(std::nothrow) char[block_size]; if (m_storage == NULL) { return -1; } diff --git a/scl/sclgraphics-efl.cpp b/scl/sclgraphics-efl.cpp index da54147..e3a8f7b 100644 --- a/scl/sclgraphics-efl.cpp +++ b/scl/sclgraphics-efl.cpp @@ -30,6 +30,7 @@ //#include #include #include +#include //#define EXTRACT_PARTIMAGE @@ -372,7 +373,7 @@ CSCLGraphicsImplEfl::draw_image(sclwindow window, const scldrawctx draw_ctx, scl evas_object_raise(image_object); evas_object_show(image_object); } else { - EFLObject *object = new EFLObject; + EFLObject *object = new(std::nothrow) EFLObject; if (object) { image_object = evas_object_image_add(evas); object->extracted = FALSE; @@ -447,7 +448,7 @@ CSCLGraphicsImplEfl::draw_image(sclwindow window, const scldrawctx draw_ctx, scl evas_object_clip_set(image_object, clipper); evas_object_show(clipper); - clip_object = new EFLObject; + clip_object = new(std::nothrow) EFLObject; if (clip_object) { clip_object->object = clipper; clip_object->type = EFLOBJECT_CLIPOBJECT; @@ -701,7 +702,7 @@ CSCLGraphicsImplEfl::draw_text(sclwindow window, const scldrawctx draw_ctx, cons } if (!bFound) { #endif - EFLObject *object = new EFLObject; + EFLObject *object = new(std::nothrow) EFLObject; if (object) { object->extracted = FALSE; Evas_Object *window_object = (Evas_Object*)window; @@ -945,7 +946,7 @@ CSCLGraphicsImplEfl::draw_rectangle(sclwindow window, const scldrawctx draw_ctx, } if (window_context && utils && cache && windows && target_window_context) { - EFLObject *object = new EFLObject; + EFLObject *object = new(std::nothrow) EFLObject; if (object) { Evas_Object *window_object = (Evas_Object*)window; if (window_context->is_virtual) { -- 2.7.4