It'll either hang the server or blow up with divisions by 0, whichever one
comes first.

X.Org Bug 49965 <http://bugs.freedesktop.org/show_bug.cgi?id=49965>

Signed-off-by: Peter Hutterer <[email protected]>
---
 src/properties.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/properties.c b/src/properties.c
index 0cbca09..72ba896 100644
--- a/src/properties.c
+++ b/src/properties.c
@@ -471,6 +471,9 @@ SetProperty(DeviceIntPtr dev, Atom property, 
XIPropertyValuePtr prop,
             return BadMatch;
 
         dist = (INT32 *) prop->data;
+        if (dist[0] == 0 || dist[1] == 0)
+            return BadValue;
+
         if (para->scroll_dist_vert != dist[0]) {
             para->scroll_dist_vert = dist[0];
             SetScrollValuator(dev, priv->scroll_axis_vert, 
SCROLL_TYPE_VERTICAL,
@@ -589,6 +592,9 @@ SetProperty(DeviceIntPtr dev, Atom property, 
XIPropertyValuePtr prop,
             return BadMatch;
 
         circdist = *(float *) prop->data;
+        if (circdist == 0)
+            return BadValue;
+
         para->scroll_dist_circ = circdist;
     }
     else if (property == prop_circscroll_trigger) {
-- 
1.7.10.1
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to