[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45951] trunk/blender/intern/ghost/intern/ GHOST_NDOFManagerX11.cpp: ndof: avoid potential buffer overflow in libspnav

Mike Erwin significant.bit at gmail.com
Wed Apr 25 03:24:31 CEST 2012


Revision: 45951
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45951
Author:   merwin
Date:     2012-04-25 01:24:29 +0000 (Wed, 25 Apr 2012)
Log Message:
-----------
ndof: avoid potential buffer overflow in libspnav

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_NDOFManagerX11.cpp

Modified: trunk/blender/intern/ghost/intern/GHOST_NDOFManagerX11.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_NDOFManagerX11.cpp	2012-04-25 00:59:49 UTC (rev 45950)
+++ trunk/blender/intern/ghost/intern/GHOST_NDOFManagerX11.cpp	2012-04-25 01:24:29 UTC (rev 45951)
@@ -75,28 +75,32 @@
 
 bool GHOST_NDOFManagerX11::processEvents()
 {
-	GHOST_TUns64 now = m_system.getMilliSeconds();
-
 	bool anyProcessed = false;
-	spnav_event e;
-	while (spnav_poll_event(&e)) {
-		switch (e.type) {
-			case SPNAV_EVENT_MOTION:
-			{
-				/* convert to blender view coords */
-				short t[3] = {e.motion.x, e.motion.y, -e.motion.z};
-				short r[3] = {-e.motion.rx, -e.motion.ry, e.motion.rz};
 
-				updateTranslation(t, now);
-				updateRotation(r, now);
-				break;
+	if (m_available) {
+		GHOST_TUns64 now = m_system.getMilliSeconds();
+
+		spnav_event e;
+		while (spnav_poll_event(&e)) {
+			switch (e.type) {
+				case SPNAV_EVENT_MOTION:
+				{
+					/* convert to blender view coords */
+					short t[3] = {e.motion.x, e.motion.y, -e.motion.z};
+					short r[3] = {-e.motion.rx, -e.motion.ry, e.motion.rz};
+
+					updateTranslation(t, now);
+					updateRotation(r, now);
+					break;
+				}
+				case SPNAV_EVENT_BUTTON:
+					updateButton(e.button.bnum, e.button.press, now);
+					break;
 			}
-			case SPNAV_EVENT_BUTTON:
-				updateButton(e.button.bnum, e.button.press, now);
-				break;
+			anyProcessed = true;
 		}
-		anyProcessed = true;
 	}
+
 	return anyProcessed;
 }
 




More information about the Bf-blender-cvs mailing list