libheif-1.21.1-1.fc44

List of Findings

Error: CPPCHECK_WARNING (CWE-457): [#def1]
libheif-1.21.1/heifio/decoder_png.cc:276: error[legacyUninitvar]: Uninitialized variable: a_stride
#  274|           for (uint32_t x = 0; x < width; x++) {
#  275|             py[y * y_stride + x] = *p++;
#  276|->           pa[y * a_stride + x] = *p++;
#  277|           }
#  278|         }

Error: CPPCHECK_WARNING (CWE-476): [#def2]
libheif-1.21.1/heifio/decoder_png.cc:320: error[nullPointer]: Null pointer dereference: pa
#  318|   
#  319|             py[x + y * y_stride] = vp;
#  320|->           pa[x + y * y_stride] = va;
#  321|   
#  322|             p += 4;

Error: CPPCHECK_WARNING (CWE-909): [#def3]
libheif-1.21.1/libheif/box.cc:3173: error[uninitStructMember]: Uninitialized struct member: entry.group_description_index
# 3171|       }
# 3172|   
# 3173|->     m_entries.push_back(entry);
# 3174|     }
# 3175|   

Error: CPPCHECK_WARNING (CWE-909): [#def4]
libheif-1.21.1/libheif/box.cc:3173: error[uninitStructMember]: Uninitialized struct member: entry.sample_count
# 3171|       }
# 3172|   
# 3173|->     m_entries.push_back(entry);
# 3174|     }
# 3175|   

Error: CPPCHECK_WARNING (CWE-909): [#def5]
libheif-1.21.1/libheif/box.cc:3223: error[uninitStructMember]: Uninitialized struct member: entry.group_description_index
# 3221|       Entry entry;
# 3222|       entry.item_ID = itemID;
# 3223|->     m_entries.push_back(entry);
# 3224|     }
# 3225|   

Error: CPPCHECK_WARNING (CWE-909): [#def6]
libheif-1.21.1/libheif/box.cc:3223: error[uninitStructMember]: Uninitialized struct member: entry.sample_count
# 3221|       Entry entry;
# 3222|       entry.item_ID = itemID;
# 3223|->     m_entries.push_back(entry);
# 3224|     }
# 3225|   

Error: CPPCHECK_WARNING (CWE-909): [#def7]
libheif-1.21.1/libheif/box.cc:3937: error[uninitStructMember]: Uninitialized struct member: ref.reference_type
# 3935|     assert(to_ids.size() <= 0xFFFF);
# 3936|   
# 3937|->   m_references.push_back(ref);
# 3938|   }
# 3939|   

Error: CPPCHECK_WARNING (CWE-909): [#def8]
libheif-1.21.1/libheif/codecs/uncompressed/unc_boxes.cc:167: error[uninitStructMember]: Uninitialized struct member: component.component_align_size
#  165|         component.component_type_uri = std::string();
#  166|       }
#  167|->     m_components.push_back(component);
#  168|     }
#  169|   

Error: CPPCHECK_WARNING (CWE-909): [#def9]
libheif-1.21.1/libheif/codecs/uncompressed/unc_boxes.cc:167: error[uninitStructMember]: Uninitialized struct member: component.component_bit_depth
#  165|         component.component_type_uri = std::string();
#  166|       }
#  167|->     m_components.push_back(component);
#  168|     }
#  169|   

Error: CPPCHECK_WARNING (CWE-909): [#def10]
libheif-1.21.1/libheif/codecs/uncompressed/unc_boxes.cc:167: error[uninitStructMember]: Uninitialized struct member: component.component_format
#  165|         component.component_type_uri = std::string();
#  166|       }
#  167|->     m_components.push_back(component);
#  168|     }
#  169|   

Error: CPPCHECK_WARNING (CWE-909): [#def11]
libheif-1.21.1/libheif/codecs/uncompressed/unc_boxes.cc:167: error[uninitStructMember]: Uninitialized struct member: component.component_index
#  165|         component.component_type_uri = std::string();
#  166|       }
#  167|->     m_components.push_back(component);
#  168|     }
#  169|   

Error: CPPCHECK_WARNING (CWE-909): [#def12]
libheif-1.21.1/libheif/codecs/uncompressed/unc_boxes.cc:276: error[uninitStructMember]: Uninitialized struct member: component.component_type
#  274|         component.component_format = range.read8();
#  275|         component.component_align_size = range.read8();
#  276|->       m_components.push_back(component);
#  277|   
#  278|         if (!is_valid_component_format(component.component_format)) {

Error: CPPCHECK_WARNING (CWE-476): [#def13]
libheif-1.21.1/libheif/color-conversion/rgb2yuv_sharp.cc:263: warning[nullPointer]: Possible null pointer dereference: in
#  261|           uint16_t a = has_alpha
#  262|                        ? ((input_bits == 8)
#  263|->                         ? in[0]
#  264|                           : (uint16_t) ((in[0 + le] << 8) | in[1 - le]))
#  265|                        : alpha_max;

Error: CPPCHECK_WARNING (CWE-476): [#def14]
libheif-1.21.1/libheif/color-conversion/rgb2yuv_sharp.cc:264: warning[nullPointer]: Possible null pointer dereference: in
#  262|                        ? ((input_bits == 8)
#  263|                           ? in[0]
#  264|->                         : (uint16_t) ((in[0 + le] << 8) | in[1 - le]))
#  265|                        : alpha_max;
#  266|           if (output_bits == 8) {

Error: COMPILER_WARNING (CWE-457): [#def15]
libheif-1.21.1/libheif/context.cc: scope_hint: In member function ‘HeifContext::HeifContext()’
libheif-1.21.1/libheif/context.cc:102:7: warning[-Wmaybe-uninitialized]: ‘_2’ may be used uninitialized
#  102 |     : m_memory_tracker(&m_limits)
#      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
libheif-1.21.1/libheif/pixelimage.h:29: included_from: Included from here.
libheif-1.21.1/libheif/region.h:27: included_from: Included from here.
libheif-1.21.1/libheif/context.cc:24: included_from: Included from here.
libheif-1.21.1/libheif/security_limits.h:48:12: note: by argument 2 of type ‘const struct heif_security_limits *’ to ‘TotalMemoryTracker::TotalMemoryTracker(heif_security_limits const*)’ declared here
#   48 |   explicit TotalMemoryTracker(const heif_security_limits* limits_context);
#      |            ^~~~~~~~~~~~~~~~~~
#  100|   
#  101|   HeifContext::HeifContext()
#  102|->     : m_memory_tracker(&m_limits)
#  103|   {
#  104|     const char* security_limits_variable = getenv("LIBHEIF_SECURITY_LIMITS");

Error: CPPCHECK_WARNING (CWE-909): [#def16]
libheif-1.21.1/libheif/sequences/seq_boxes.cc:2167: error[uninitStructMember]: Uninitialized struct member: ref.from_item_ID
# 2165|       }
# 2166|   
# 2167|->     m_references.push_back(ref);
# 2168|     }
# 2169|   

Error: CPPCHECK_WARNING (CWE-909): [#def17]
libheif-1.21.1/libheif/sequences/seq_boxes.cc:2294: error[uninitStructMember]: Uninitialized struct member: ref.from_item_ID
# 2292|     ref.to_track_id = {to_track_id};
# 2293|   
# 2294|->   m_references.push_back(ref);
# 2295|   }
# 2296|   

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-144.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibheif-1.21.1-1.fc44
store-results-to/tmp/tmpvh2crxi4/libheif-1.21.1-1.fc44.tar.xz
time-created2026-01-08 18:58:22
time-finished2026-01-08 19:02:50
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpvh2crxi4/libheif-1.21.1-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpvh2crxi4/libheif-1.21.1-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9