@@ -1824,14 +1824,14 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image,
18241824 count = (ssize_t ) FormatLocaleString (buffer ,MagickPathExtent ,
18251825 "%u " ,ScaleQuantumToLong (index ));
18261826 extent = (size_t ) count ;
1827- (void ) strncpy ((char * ) q ,buffer ,extent );
1828- q += extent ;
1829- if ((q - pixels + extent + 2 ) >= sizeof (pixels ))
1827+ if ((q - pixels + extent + 1 ) >= sizeof (pixels ))
18301828 {
18311829 * q ++ = '\n' ;
18321830 (void ) WriteBlob (image ,q - pixels ,pixels );
18331831 q = pixels ;
18341832 }
1833+ (void ) strncpy ((char * ) q ,buffer ,extent );
1834+ q += extent ;
18351835 p += GetPixelChannels (image );
18361836 }
18371837 * q ++ = '\n' ;
@@ -1899,14 +1899,14 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image,
18991899 ScaleQuantumToLong (GetPixelGreen (image ,p )),
19001900 ScaleQuantumToLong (GetPixelBlue (image ,p )));
19011901 extent = (size_t ) count ;
1902- (void ) strncpy ((char * ) q ,buffer ,extent );
1903- q += extent ;
19041902 if ((q - pixels + extent + 2 ) >= sizeof (pixels ))
19051903 {
19061904 * q ++ = '\n' ;
19071905 (void ) WriteBlob (image ,q - pixels ,pixels );
19081906 q = pixels ;
19091907 }
1908+ (void ) strncpy ((char * ) q ,buffer ,extent );
1909+ q += extent ;
19101910 p += GetPixelChannels (image );
19111911 }
19121912 * q ++ = '\n' ;
0 commit comments