summaryrefslogtreecommitdiff
path: root/dbus/dbus-sysdeps-util-win.c
diff options
context:
space:
mode:
authorRalf Habacker <ralf.habacker@freenet.de>2015-02-03 19:56:32 +0100
committerRalf Habacker <ralf.habacker@freenet.de>2015-10-27 13:52:10 +0100
commit24b6eecc66bd1551e42b20f7b7b8d38b7e12dc32 (patch)
treedaf3b25323d12ef780f2eea851721c57a60be675 /dbus/dbus-sysdeps-util-win.c
parent9a8a6e28822e40d896a5d5bdb08175b168842d5f (diff)
Fix crash running test-syslog on windows/wine.
Use seperate buffer in _dbus_system_logv() to avoid crash in vsprintf(). Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92538 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Diffstat (limited to 'dbus/dbus-sysdeps-util-win.c')
-rw-r--r--dbus/dbus-sysdeps-util-win.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/dbus/dbus-sysdeps-util-win.c b/dbus/dbus-sysdeps-util-win.c
index 096ffee3..3b754dbf 100644
--- a/dbus/dbus-sysdeps-util-win.c
+++ b/dbus/dbus-sysdeps-util-win.c
@@ -335,7 +335,8 @@ _dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list args
{
char *s = "";
char buf[1024];
-
+ char format[1024];
+
switch(severity)
{
case DBUS_SYSTEM_LOG_INFO: s = "info"; break;
@@ -344,8 +345,8 @@ _dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list args
case DBUS_SYSTEM_LOG_FATAL: s = "fatal"; break;
}
- sprintf(buf,"%s%s",s,msg);
- vsprintf(buf,buf,args);
+ snprintf(format, sizeof(format), "%s%s", s ,msg);
+ vsnprintf(buf, sizeof(buf), format, args);
OutputDebugStringA(buf);
if (severity == DBUS_SYSTEM_LOG_FATAL)