aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMathias Gumz <akira@fluxbox.org>2015-01-03 17:39:09 (GMT)
committerMathias Gumz <akira@fluxbox.org>2015-01-03 17:39:09 (GMT)
commit3e76d439870f2a0d688fd4e0080b9f9f032146df (patch)
tree1ba9e3c9434c752324efcac70b375eade7501122 /src
parent362b5c191a15a32de871aeb93d8a2fc4f9ad5648 (diff)
downloadfluxbox-3e76d439870f2a0d688fd4e0080b9f9f032146df.zip
fluxbox-3e76d439870f2a0d688fd4e0080b9f9f032146df.tar.bz2
Use correct buffer size for number2*()
Diffstat (limited to 'src')
-rw-r--r--src/FbTk/StringUtil.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/FbTk/StringUtil.cc b/src/FbTk/StringUtil.cc
index 00d2e88..9cd2c9a 100644
--- a/src/FbTk/StringUtil.cc
+++ b/src/FbTk/StringUtil.cc
@@ -69,6 +69,9 @@ using std::transform;
69 69
70namespace { 70namespace {
71 71
72const size_t DIGITS10_ULONGLONGINT = 20; // ULLONG_MAX = 18446744073709551615
73const size_t DIGITS16_ULONGLONGINT = 18; // ULLONG_MAX = 0xffffffffffffffff
74
72template <typename T> 75template <typename T>
73int extractBigNumber(const char* in, T (*extractFunc)(const char*, char**, int), T& out) { 76int extractBigNumber(const char* in, T (*extractFunc)(const char*, char**, int), T& out) {
74 77
@@ -170,14 +173,14 @@ int extractNumber(const std::string& in, unsigned long long& out) {
170 173
171 174
172std::string number2String(long long num) { 175std::string number2String(long long num) {
173 char s[128]; 176 char s[DIGITS10_ULONGLONGINT];
174 snprintf(s, sizeof(s), "%lld", num); 177 snprintf(s, sizeof(s), "%lld", num);
175 return std::string(s); 178 return std::string(s);
176} 179}
177 180
178std::string number2HexString(long long num) { 181std::string number2HexString(long long num) {
179 char s[17]; 182 char s[DIGITS16_ULONGLONGINT];
180 snprintf(s, sizeof(s), "%lx", num); 183 snprintf(s, sizeof(s), "%llx", num);
181 return std::string(s); 184 return std::string(s);
182} 185}
183 186