diff --git a/contrib/libtests/pngvalid.c b/contrib/libtests/pngvalid.c index 8b8fbda8d..b21390ba2 100644 --- a/contrib/libtests/pngvalid.c +++ b/contrib/libtests/pngvalid.c @@ -308,38 +308,33 @@ randomize(void *pv, size_t size) #define R8(this) randomize(&(this), sizeof (this)) -static void r16(png_uint_16p p16, size_t count) +#ifdef PNG_READ_SUPPORTED +static png_byte +random_byte(void) { - size_t i; - - for (i=0; iIDAT_bits)) - 1U; if (IDAT_len > IDAT_size) IDAT_len = IDAT_size; @@ -3721,8 +3706,8 @@ set_random_tRNS(png_structp pp, png_infop pi, const png_byte colour_type, { if (bit_depth == 8) { - R16(tRNS.red); - R16(tRNS.green); + tRNS.red = random_u16(); + tRNS.green = random_u16(); tRNS.blue = tRNS.red ^ tRNS.green; tRNS.red &= mask; tRNS.green &= mask; @@ -3731,7 +3716,7 @@ set_random_tRNS(png_structp pp, png_infop pi, const png_byte colour_type, else /* bit_depth == 16 */ { - R16(tRNS.red); + tRNS.red = random_u16(); tRNS.green = (png_uint_16)(tRNS.red * 257); tRNS.blue = (png_uint_16)(tRNS.green * 17); } @@ -3739,7 +3724,7 @@ set_random_tRNS(png_structp pp, png_infop pi, const png_byte colour_type, else { - R16(tRNS.gray); + tRNS.gray = random_u16(); tRNS.gray &= mask; } @@ -7691,7 +7676,7 @@ image_transform_png_set_rgb_to_gray_ini(const image_transform *this, png_uint_32 ru; double total; - R32_1(ru); + ru = random_u32(); data.green_coefficient = total = (ru & 0xffff) / 65535.; ru >>= 16; data.red_coefficient = (1 - total) * (ru & 0xffff) / 65535.; @@ -8619,7 +8604,7 @@ image_transform_png_set_filler_set(const image_transform *this, * filler. The 'filler' value has all 32 bits set, but only bit_depth * will be used. At this point we don't know bit_depth. */ - R32(data.filler); + data.filler = random_u32(); data.flags = random_choice(); png_set_filler(pp, data.filler, data.flags); @@ -8692,7 +8677,7 @@ image_transform_png_set_add_alpha_set(const image_transform *this, * filler. The 'filler' value has all 32 bits set, but only bit_depth * will be used. At this point we don't know bit_depth. */ - R32(data.filler); + data.filler = random_u32(); data.flags = random_choice(); png_set_add_alpha(pp, data.filler, data.flags);