From e8e5e0caa009d2d129b8110ec9167ff95a61daa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sat, 27 Feb 2010 09:44:30 +0000 Subject: [PATCH] Strings in BMessages don't necessarily have to be \0 terminated. Use the already known length to print the stream so printf() doesn't potentially crash when trying a strlen() on the string. Fixes for example printing B_KEY_DOWN messages, where such strings are used, in certain conditions. Review welcome, printf() formatting is not one of my strengths. :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35629 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/app/Message.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kits/app/Message.cpp b/src/kits/app/Message.cpp index bec7868652..3fd2b988b8 100644 --- a/src/kits/app/Message.cpp +++ b/src/kits/app/Message.cpp @@ -590,8 +590,8 @@ BMessage::_PrintToStream(const char* indent) const break; case B_STRING_TYPE: - printf("string(\"%s\", %ld bytes)\n", (char *)pointer, - (long)size); + printf("string(\"%.*s\", %ld bytes)\n", (int)size, + (char *)pointer, (long)size); break; case B_INT8_TYPE: