aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpopcornmix <popcornmix@gmail.com>2013-06-17 23:29:30 +0100
committerpopcornmix <popcornmix@gmail.com>2013-06-18 11:32:31 +0100
commit7abe83620ce75bf4d7e12e0bc6f6f7425fb04ae7 (patch)
tree9e2bfb8122e0b05f464fd5bc94d9ea0f52f6b709
parent0faa3d293a6cffa4f76ece1a236155521e07b392 (diff)
[rbp] Avoid overflow in version string
gedit complains about invalid characters when opening xbmc.log file produced by pi Since the change from perforce revision number to git hash, the version string has increased in size. Fortunately we don't overrun the "response" buffer. Unfortunately when buffer doesn't fit, it is not null terminated, so logging message pulls in garbage. Version string looks like: Jun 17 2013 20:49:11 Copyright (c) 2012 Broadcom version d380dde43fe729f043befb5cf775f99e54586cde (clean) (release) So, 80 characters is not enough (it is about 115 plus newlines). 160 seems more than enough, but truncate the string just in case.
-rw-r--r--xbmc/linux/RBP.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/xbmc/linux/RBP.cpp b/xbmc/linux/RBP.cpp
index 8daf161202..a9568e2e50 100644
--- a/xbmc/linux/RBP.cpp
+++ b/xbmc/linux/RBP.cpp
@@ -55,9 +55,10 @@ bool CRBP::Initialize()
void CRBP::LogFirmwareVerison()
{
- char response[80];
+ char response[160];
m_DllBcmHost->vc_gencmd(response, sizeof response, "version");
- CLog::Log(LOGNOTICE, "Raspberry PI firmware version: %s\n", response);
+ response[sizeof(response) - 1] = '\0';
+ CLog::Log(LOGNOTICE, "Raspberry PI firmware version: %s", response);
}
void CRBP::Deinitialize()