diff --git a/repos/gems/src/server/terminal/session.h b/repos/gems/src/server/terminal/session.h index 3adac9cfb9..dbd4131911 100644 --- a/repos/gems/src/server/terminal/session.h +++ b/repos/gems/src/server/terminal/session.h @@ -104,13 +104,18 @@ class Terminal::Session_component : public Rpc_object= max) + break; + utf8 = Utf8_ptr(src + i); } /* consume trailing zero characters */ - for (; src[i] == 0 && i < num_bytes; i++); + for (; i < max && src[i] == 0; i++); /* we don't support UTF-8 sequences split into multiple writes */ if (i != num_bytes) {