Blob Blame History Raw
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