summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/src
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Kernel/src')
-rw-r--r--dev/Kernel/src/KString.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/dev/Kernel/src/KString.cc b/dev/Kernel/src/KString.cc
index 590db984..a30d23fc 100644
--- a/dev/Kernel/src/KString.cc
+++ b/dev/Kernel/src/KString.cc
@@ -165,18 +165,19 @@ namespace Kernel
if (!ret)
return ("?");
- for (Size idx = 0; idx < rt_string_len(fmt); ++idx)
+ const auto len = rt_string_len(fmt);
+
+ for (Size idx = 0; idx < len; ++idx)
{
- if (fmt[idx] == '%')
+ if (fmt[idx] == '%' && idx < rt_string_len(fmt) && fmt[idx] == 's')
{
Size result_cnt = idx;
+
for (Size y_idx = 0; y_idx < rt_string_len(fmt2); ++y_idx)
{
ret[result_cnt] = fmt2[y_idx];
++result_cnt;
}
-
- break;
}
ret[idx] = fmt[idx];