Browse Source

Fix a bad memory access.

legacy
Sam Hocevar 6 years ago
parent
commit
b5bf4a7eff
1 changed files with 6 additions and 13 deletions
  1. +6
    -13
      src/dict.cpp

+ 6
- 13
src/dict.cpp View File

@@ -12,8 +12,8 @@

#include <lol/engine-internal.h>

#include <cstring>
#include <cstdlib>
#include <regex>

#if defined _WIN32
# define strcasecmp _stricmp
@@ -80,18 +80,11 @@ int Dict::MakeSlot(std::string const &name)
}
else
{
char const *oldname = e->GetName().c_str();
if (*oldname == '<')
{
while (*oldname && *oldname != '>')
oldname++;
while (*oldname == '>')
oldname++;
while (*oldname == ' ')
oldname++;
}

if (!strcasecmp(name.c_str(), oldname))
auto oldname = e->GetName();
if (oldname[0] == '<')
oldname = std::regex_replace(oldname, std::regex("<[^>]*> *"), "");

if (oldname == name)
break;
}
}


Loading…
Cancel
Save