From 3d85f49adb42b84a212a6b87b2f4576098634c93 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Fri, 29 Jul 2016 00:21:12 -0600 Subject: [PATCH] light: entities: write null byte at the end of bsp->dentdata --- light/entities.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/light/entities.cc b/light/entities.cc index 9c34dd44..80bb0a37 100644 --- a/light/entities.cc +++ b/light/entities.cc @@ -1113,13 +1113,15 @@ WriteEntitiesToString(bsp2_t *bsp) /* FIXME - why are we printing this here? */ logprint("%i switchable light styles\n", static_cast(lighttargetnames.size())); - bsp->entdatasize = entdata.size(); - bsp->dentdata = (char *) malloc(bsp->entdatasize); + bsp->entdatasize = entdata.size() + 1; // +1 for a null byte at the end + bsp->dentdata = (char *) calloc(bsp->entdatasize, 1); if (!bsp->dentdata) Error("%s: allocation of %d bytes failed\n", __func__, bsp->entdatasize); memcpy(bsp->dentdata, entdata.data(), entdata.size()); + + assert(0 == bsp->dentdata[bsp->entdatasize - 1]); }