From 3f892f03c28291c23e95fabe4eb8fef252c77f51 Mon Sep 17 00:00:00 2001 From: RElesgoe <xboi209@gmail.com> Date: Sun, 28 Aug 2016 01:59:59 -0700 Subject: [PATCH] Fix memory leak in d2charsave_init_from_d2s() --- src/d2cs/d2charfile.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/d2cs/d2charfile.cpp b/src/d2cs/d2charfile.cpp index 1536647..fa1a680 100644 --- a/src/d2cs/d2charfile.cpp +++ b/src/d2cs/d2charfile.cpp @@ -80,8 +80,8 @@ namespace pvpgn bn_short_set((bn_short *)((char *)buffer + D2CHARSAVE_STATUS_OFFSET_109), status); // charname - std::strncpy((char *)buffer + D2CHARSAVE_CHARNAME_OFFSET_109, new char[MAX_CHARNAME_LEN], MAX_CHARNAME_LEN); // clear first - std::strncpy((char *)buffer + D2CHARSAVE_CHARNAME_OFFSET_109, charname, MAX_CHARNAME_LEN); + std::memset(buffer + D2CHARSAVE_CHARNAME_OFFSET_109, '\0', MAX_CHARNAME_LEN); // clear first + std::strncpy((char *)buffer + D2CHARSAVE_CHARNAME_OFFSET_109, charname, MAX_CHARNAME_LEN); // checksum checksum = d2charsave_checksum((unsigned char *)buffer, size, D2CHARSAVE_CHECKSUM_OFFSET);