Skip to content

Commit 216cbfc

Browse files
author
Swagtoy
committed
Fix irrString use-after-free with char assignment
1 parent bca4457 commit 216cbfc

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

irr/include/irrString.h

+5-4
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,11 @@ class string
176176
// no longer allowed!
177177
_IRR_DEBUG_BREAK_IF((void *)c == (void *)c_str());
178178

179-
u32 len = calclen(c);
180-
str.resize(len);
181-
for (u32 l = 0; l < len; ++l)
182-
str[l] = (T)c[l];
179+
u32 len = calclen(c);
180+
if (len > str.size()) str.resize(len);
181+
for (u32 l = 0; l < len; ++l)
182+
str[l] = static_cast<T>(c[l]);
183+
if (len < str.size()) str.resize(len);
183184

184185
return *this;
185186
}

0 commit comments

Comments
 (0)