Fix not-NULL terminated char buffer and uninitialized memory written to vmaps due to WMOLiquidHeader struct padding bytes left uninitialized. The padding bytes should be ignored anyway by VMAP Assembler so no re-extraction is required.
Valgrind log:
Syscall param write(buf) points to uninitialised byte(s)
at 0x585FB50: __write_nocancel (syscall-template.S:81)
by 0x57EE2F2: _IO_file_write@@GLIBC_2.2.5 (fileops.c:1270)
by 0x57EE1D1: new_do_write (fileops.c:546)
by 0x57EF904: _IO_do_write@@GLIBC_2.2.5 (fileops.c:519)
by 0x57EEB70: _IO_file_xsputn@@GLIBC_2.2.5 (fileops.c:1341)
by 0x57E3EC4: fwrite (iofwrite.c:43)
by 0x41161B: WMOGroup::ConvertToVMAPGroupWmo(_IO_FILE*, WMORoot*, bool) (wmo.cpp:386)
by 0x407FA9: ExtractSingleWmo(std::string&) (vmapexport.cpp:215)
by 0x407B16: ExtractWmo() (vmapexport.cpp:138)
by 0x409D50: main (vmapexport.cpp:497)
Address 0x40398e2 is not stack'd, malloc'd or (recently) free'd
Uninitialised value was created by a heap allocation
at 0x4C2C7A7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x410ADA: WMOGroup::open() (wmo.cpp:224)
by 0x407F54: ExtractSingleWmo(std::string&) (vmapexport.cpp:208)
by 0x407B16: ExtractWmo() (vmapexport.cpp:138)
by 0x409D50: main (vmapexport.cpp:497)
* Corrected liquid type extraction in maps - MCLQ chunk must be parsed together with MH2O (they stack)
* Fixed liquid detection in WMO objects
* Implemented LiquidType.dbc use, players will now get proper auras in special liquids
* Turned off slime damage by default (Naxxramas uses periodic damage aura for this purpose)
* Implemented liquid type overrides basing on area/zone
* Renamed final temp_gameobject_models to GameObjectModels.dtree (the temporary one produced by vmap extractor remains unaffected)
Note: Map and Vmap re-extraction is required