diff -Nbur libpng-1.2.22.old/pngset.c libpng-1.2.22/pngset.c --- libpng-1.2.22.old/pngset.c 2007-10-13 19:07:24.000000000 +0200 +++ libpng-1.2.22/pngset.c 2007-10-14 18:59:40.000000000 +0200 @@ -690,8 +690,7 @@ png_warning(png_ptr, "Insufficient memory to process iCCP chunk."); return; } - png_strncpy(new_iccp_name, name, png_strlen(name)); - new_iccp_name[png_strlen(name)] = '\0'; + png_strncpy(new_iccp_name, name, png_strlen(name)+1); new_iccp_profile = (png_charp)png_malloc_warn(png_ptr, proflen); if (new_iccp_profile == NULL) { @@ -981,8 +980,7 @@ "Out of memory while processing sPLT chunk"); } /* TODO: use png_malloc_warn */ - png_strncpy(to->name, from->name, png_strlen(from->name)); - to->name[png_strlen(from->name)] = '\0'; + png_strncpy(to->name, from->name, png_strlen(from->name)+1); to->entries = (png_sPLT_entryp)png_malloc_warn(png_ptr, from->nentries * png_sizeof(png_sPLT_entry)); /* TODO: use png_malloc_warn */