You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libreoffice/0001-make-sure-we-stay-in-a...

30 lines
1.1 KiB

From dcb9d674c898d33f1895871c38ec308a460e9400 Mon Sep 17 00:00:00 2001
From: Radek Doulik <rodo@novell.com>
Date: Thu, 1 Sep 2011 11:14:21 +0200
Subject: [PATCH] make sure we stay in array bounds
---
vcl/unx/gtk/app/gtkdata.cxx | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx
index b68d023..c5d12c8 100644
--- a/vcl/unx/gtk/app/gtkdata.cxx
+++ b/vcl/unx/gtk/app/gtkdata.cxx
@@ -265,8 +265,10 @@ int GtkSalDisplay::GetDefaultMonitorNumber() const
gint nMonitors = gdk_screen_get_n_monitors(pScreen);
for (gint i = 0; i < nMonitors; ++i)
{
- if (g_ascii_strncasecmp (gdk_screen_get_monitor_plug_name(pScreen, i), "LVDS", 4) == 0)
- return m_aXineramaScreenIndexMap[i];
+ if (g_ascii_strncasecmp (gdk_screen_get_monitor_plug_name(pScreen, i), "LVDS", 4) == 0) {
+ OSL_ASSERT( size_t(i) < m_aXineramaScreenIndexMap.size() );
+ return (size_t(i) < m_aXineramaScreenIndexMap.size()) ? m_aXineramaScreenIndexMap[i] : 0;
+ }
}
#endif
return 0;
--
1.7.6.4