mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-22 20:16:54 +03:00
Fix two genuine bugs found by Coverity. Checking the wrong pointers for NULL.
This commit is contained in:
parent
5cddb4ff3c
commit
a515248b59
18
image/png.c
18
image/png.c
@ -430,7 +430,7 @@ png_cache_convert(struct content *c)
|
|||||||
{
|
{
|
||||||
png_structp png_ptr;
|
png_structp png_ptr;
|
||||||
png_infop info_ptr;
|
png_infop info_ptr;
|
||||||
png_infop end_info;
|
png_infop end_info_ptr;
|
||||||
volatile struct bitmap *bitmap = NULL;
|
volatile struct bitmap *bitmap = NULL;
|
||||||
struct png_cache_read_data_s png_cache_read_data;
|
struct png_cache_read_data_s png_cache_read_data;
|
||||||
png_uint_32 width, height;
|
png_uint_32 width, height;
|
||||||
@ -444,22 +444,20 @@ png_cache_convert(struct content *c)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
|
png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL,
|
||||||
NULL,
|
nspng_error, nspng_warning);
|
||||||
nspng_error,
|
|
||||||
nspng_warning);
|
|
||||||
if (png_ptr == NULL) {
|
if (png_ptr == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
info_ptr = png_create_info_struct(png_ptr);
|
info_ptr = png_create_info_struct(png_ptr);
|
||||||
if (png_ptr == NULL) {
|
if (info_ptr == NULL) {
|
||||||
png_destroy_read_struct(&png_ptr, NULL, NULL);
|
png_destroy_read_struct(&png_ptr, NULL, NULL);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
end_info = png_create_info_struct(png_ptr);
|
end_info_ptr = png_create_info_struct(png_ptr);
|
||||||
if (png_ptr == NULL) {
|
if (end_info_ptr == NULL) {
|
||||||
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -480,7 +478,7 @@ png_cache_convert(struct content *c)
|
|||||||
nspng_setup_transforms(png_ptr, info_ptr);
|
nspng_setup_transforms(png_ptr, info_ptr);
|
||||||
|
|
||||||
width = png_get_image_width(png_ptr, info_ptr);
|
width = png_get_image_width(png_ptr, info_ptr);
|
||||||
height = png_get_image_height(png_ptr,info_ptr);
|
height = png_get_image_height(png_ptr, info_ptr);
|
||||||
|
|
||||||
/* Claim the required memory for the converted PNG */
|
/* Claim the required memory for the converted PNG */
|
||||||
bitmap = bitmap_create(width, height, BITMAP_NEW);
|
bitmap = bitmap_create(width, height, BITMAP_NEW);
|
||||||
@ -498,7 +496,7 @@ png_cache_convert(struct content *c)
|
|||||||
png_cache_convert_error:
|
png_cache_convert_error:
|
||||||
|
|
||||||
/* cleanup png read */
|
/* cleanup png read */
|
||||||
png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
|
png_destroy_read_struct(&png_ptr, &info_ptr, &end_info_ptr);
|
||||||
|
|
||||||
free((png_bytep *) row_pointers);
|
free((png_bytep *) row_pointers);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user