} while (0) \
#define START_CODE_LEN 4
+#define IMAGE_HEADER_LEN 4
typedef struct {
uint8_t completeness;
heif_retvm_if_failed(handle, LIBHEIF_ERROR_INVALID_PARAMETER, "invalid handle");
heif_retvm_if_failed(image_item, LIBHEIF_ERROR_INVALID_PARAMETER, "invalid image_item");
+ heif_retvm_if_failed(_image_item->size > IMAGE_HEADER_LEN, LIBHEIF_ERROR_INVALID_PARAMETER, "invalid image_item size");
heif_retvm_if_failed(coded_data, LIBHEIF_ERROR_INVALID_PARAMETER, "invalid coded_data");
codec_config = &(_image_item->hvc_config.nal_unit);
memcpy(mdat->data, codec_config->data, codec_config->size);
memcpy(mdat->data + codec_config->size, START_CODE, START_CODE_LEN);
- read_n = _image_item->size - START_CODE_LEN;
+ read_n = _image_item->size - IMAGE_HEADER_LEN;
// read media
if (heif_source_read_at(((heif_itemtable_t *)handle)->source,
- _image_item->offset + START_CODE_LEN,
+ _image_item->offset + IMAGE_HEADER_LEN,
mdat->data + codec_config->size + START_CODE_LEN,
read_n) != read_n) {
heif_error("heif_source_read_at fail");