diff options
Diffstat (limited to 'pngset.c')
-rw-r--r-- | pngset.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * Last changed in libpng 1.2.21 [October 4, 2007] + * Last changed in libpng 1.2.22 [October 8, 2007] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -690,7 +690,8 @@ png_set_iCCP(png_structp png_ptr, png_infop info_ptr, png_warning(png_ptr, "Insufficient memory to process iCCP chunk."); return; } - png_strncpy(new_iccp_name, name, png_strlen(new_iccp_name)+1); + png_strncpy(new_iccp_name, name, png_strlen(name)); + new_iccp_name[png_strlen(name)] = '\0'; new_iccp_profile = (png_charp)png_malloc_warn(png_ptr, proflen); if (new_iccp_profile == NULL) { @@ -980,7 +981,8 @@ png_set_sPLT(png_structp png_ptr, "Out of memory while processing sPLT chunk"); } /* TODO: use png_malloc_warn */ - png_strncpy(to->name, from->name, png_strlen(from->name)+1); + png_strncpy(to->name, from->name, png_strlen(from->name)); + to->name[png_strlen(from->name)] = '\0'; to->entries = (png_sPLT_entryp)png_malloc_warn(png_ptr, from->nentries * png_sizeof(png_sPLT_entry)); /* TODO: use png_malloc_warn */ @@ -1037,7 +1039,8 @@ png_set_unknown_chunks(png_structp png_ptr, png_unknown_chunkp to = np + info_ptr->unknown_chunks_num + i; png_unknown_chunkp from = unknowns + i; - png_strncpy((png_charp)to->name, (png_charp)from->name, 5); + png_strncpy((png_charp)to->name, (png_charp)from->name, 4); + to->name[4] = '\0'; to->data = (png_bytep)png_malloc_warn(png_ptr, from->size); if (to->data == NULL) { @@ -1082,7 +1085,7 @@ png_permit_empty_plte (png_structp png_ptr, int empty_plte_permitted) if (png_ptr == NULL) return; png_ptr->mng_features_permitted = (png_byte) - ((png_ptr->mng_features_permitted & (~(PNG_FLAG_MNG_EMPTY_PLTE))) | + ((png_ptr->mng_features_permitted & (~PNG_FLAG_MNG_EMPTY_PLTE)) | ((empty_plte_permitted & PNG_FLAG_MNG_EMPTY_PLTE))); } #endif |