From dac5800933977672e8d2d67854a97a517abbe47d Mon Sep 17 00:00:00 2001 From: Neil Date: Sun, 22 Dec 2013 18:00:45 +1100 Subject: Avoid unsafe strcpy, strncpy, and strcat replacing with safer functions which guaranty termination where possible. --- src/CaseConvert.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/CaseConvert.cxx') diff --git a/src/CaseConvert.cxx b/src/CaseConvert.cxx index f983458c0..badaca411 100644 --- a/src/CaseConvert.cxx +++ b/src/CaseConvert.cxx @@ -13,6 +13,7 @@ #include #include +#include "StringCopy.h" #include "CaseConvert.h" #include "UniConversion.h" #include "UnicodeFromUTF8.h" @@ -367,6 +368,9 @@ class CaseConverter : public ICaseConverter { enum { maxConversionLength=6 }; struct ConversionString { char conversion[maxConversionLength+1]; + ConversionString() { + conversion[0] = '\0'; + } }; // Conversions are initially store in a vector of structs but then decomposed into // parallel arrays as that is about 10% faster to search. @@ -374,7 +378,7 @@ class CaseConverter : public ICaseConverter { int character; ConversionString conversion; CharacterConversion(int character_=0, const char *conversion_="") : character(character_) { - strcpy(conversion.conversion, conversion_); + StringCopy(conversion.conversion, conversion_); } bool operator<(const CharacterConversion &other) const { return character < other.character; -- cgit v1.2.3