nitf_21 test fails on Windows buildbots. This is due to the fact that when reading the TEXT data, the buffer doesn't allocate one extra byte for the NULL-terminating character.
See Valgrind trace below:
==8758== Invalid read of size 1
==8758== at 0x474DE0A: CSLAddNameValue (cpl_string.cpp:1231)
==8758== by 0x474E2C4: CSLSetNameValue (cpl_string.cpp:1319)
==8758== by 0x46FAB87: GDALMultiDomainMetadata::SetMetadataItem?(char const*, char const*, char const*) (gdalmultidomainmetadata.cpp:171)
==8758== by 0x44FD70F: NITFDataset::InitializeTextMetadata?() (nitfdataset.cpp:2191)
==8758== by 0x44FEA29: NITFDataset::GetMetadata?(char const*) (nitfdataset.cpp:2284)
==8758== by 0x46F940C: GDALGetMetadata (gdalmajorobject.cpp:177)
==8758== by 0x804B409: main (gdalinfo.c:259)
==8758== Address 0x6F9DC59 is 0 bytes after a block of size 1 alloc'd
==8758== at 0x4021AA4: calloc (vg_replace_malloc.c:279)
==8758== by 0x475E483: VSICalloc (cpl_vsisimple.cpp:290)
==8758== by 0x472DE44: CPLCalloc (cpl_conv.cpp:80)
==8758== by 0x44FD4D8: NITFDataset::InitializeTextMetadata?() (nitfdataset.cpp:2177)
==8758== by 0x44FEA29: NITFDataset::GetMetadata?(char const*) (nitfdataset.cpp:2284)
==8758== by 0x46F940C: GDALGetMetadata (gdalmajorobject.cpp:177)
==8758== by 0x804B409: main (gdalinfo.c:259)
==8758==
==8758== Invalid read of size 1
==8758== at 0x4023513: strlen (mc_replace_strmem.c:246)
==8758== by 0x5E4FDDF: vfprintf (in /lib/tls/i686/cmov/libc-2.6.1.so)
==8758== by 0x5E6A33B: vsprintf (in /lib/tls/i686/cmov/libc-2.6.1.so)
==8758== by 0x5E559BD: sprintf (in /lib/tls/i686/cmov/libc-2.6.1.so)
==8758== by 0x474DE84: CSLAddNameValue (cpl_string.cpp:1232)
==8758== by 0x474E2C4: CSLSetNameValue (cpl_string.cpp:1319)
==8758== by 0x46FAB87: GDALMultiDomainMetadata::SetMetadataItem?(char const*, char const*, char const*) (gdalmultidomainmetadata.cpp:171)
==8758== by 0x44FD70F: NITFDataset::InitializeTextMetadata?() (nitfdataset.cpp:2191)
==8758== by 0x44FEA29: NITFDataset::GetMetadata?(char const*) (nitfdataset.cpp:2284)
==8758== by 0x46F940C: GDALGetMetadata (gdalmajorobject.cpp:177)
==8758== by 0x804B409: main (gdalinfo.c:259)
==8758== Address 0x6F9DC59 is 0 bytes after a block of size 1 alloc'd
==8758== at 0x4021AA4: calloc (vg_replace_malloc.c:279)
==8758== by 0x475E483: VSICalloc (cpl_vsisimple.cpp:290)
==8758== by 0x472DE44: CPLCalloc (cpl_conv.cpp:80)
==8758== by 0x44FD4D8: NITFDataset::InitializeTextMetadata?() (nitfdataset.cpp:2177)
==8758== by 0x44FEA29: NITFDataset::GetMetadata?(char const*) (nitfdataset.cpp:2284)
==8758== by 0x46F940C: GDALGetMetadata (gdalmajorobject.cpp:177)
==8758== by 0x804B409: main (gdalinfo.c:259)