Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 241d8a84 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

fix [4026375] SensorManager quaternion functions can call sqrt with a negative...

fix [4026375] SensorManager quaternion functions can call sqrt with a negative number [DO NOT MERGE]

Just make sure to clamp the argument to zero.

Bug: 4026375
Change-Id: Idd3d4ef977e87c1b3f6b54371105c3152d7dc6b9
parent ff5a0990
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2026,8 +2026,8 @@ public class SensorManager
        if (rv.length == 4) {
            Q[0] = rv[3];
        } else {
            //In this case, the w component of the quaternion is known to be a positive number
            Q[0] = (float)Math.sqrt(1 - rv[0]*rv[0] - rv[1]*rv[1] - rv[2]*rv[2]);
            Q[0] = 1 - rv[0]*rv[0] - rv[1]*rv[1] - rv[2]*rv[2];
            Q[0] = (Q[0] > 0) ? (float)Math.sqrt(Q[0]) : 0;
        }
        Q[1] = rv[0];
        Q[2] = rv[1];