{
kds_s2000w_debug_printf(ALL, "kds_s2000w_image_converter_get_number_from_substring");
- uint32_t number = 0;
-
char* number_buffer = malloc(sizeof(char) * MAXBUFFER);
+ if (number_buffer == NULL)
+ return 0;
+
memset(number_buffer, 0, MAXBUFFER);
strncpy(number_buffer, &data[start + 1], end - start - 1);
- number = atoi(number_buffer);
+ uint32_t number = atoi(number_buffer);
free(number_buffer);
number_buffer = NULL;
-
return number;
}
void _kds_s2000w_image_converter_tiff_metadata(blobdata* image, image_metadata* mdata)
{
tiff_reader* tiff_handler = malloc(sizeof(tiff_reader));
+ if (tiff_handler == NULL)
+ return;
+
tiff_handler->image = image;
tiff_handler->curr_offset = 0;
TIFF* tiff = TIFFClientOpen("input.tiff", "r", (thandle_t) tiff_handler,
kds_s2000w_debug_printf(ALL, "kds_s2000w_image_converter_tiff_to_pnm");
tiff_reader* tiff_handler = malloc(sizeof(tiff_reader));
+ if (tiff_handler == NULL)
+ return;
+
tiff_handler->image = in;
tiff_handler->curr_offset = 0;
TIFF* tiff = TIFFClientOpen("input.tiff", "r", (thandle_t*) tiff_handler,
_kds_s2000w_image_converter_tiff_close,
_kds_s2000w_image_converter_tiff_size,
NULL, NULL);
+ if (tiff == NULL) {
+ free(tiff_handler);
+ tiff_handler = NULL;
+ return;
+ }
uint32_t width = 0;
uint32_t height = 0;
size_t decompress_size = width * height;
uint8_t* decompress_data = malloc(sizeof(uint8_t) * decompress_size);
+ if (decompress_data == NULL) {
+ TIFFClose(tiff);
+ tiff = NULL;
+ free(tiff_handler);
+ tiff_handler = NULL;
+ return;
+ }
+
memset(decompress_data, 0, decompress_size);
uint8_t* row = NULL;