Skip to content

Instantly share code, notes, and snippets.

@joubin
Created February 8, 2017 06:12
Show Gist options
  • Save joubin/2e8ec0e1f3eca4475e2fcf74915f8707 to your computer and use it in GitHub Desktop.
Save joubin/2e8ec0e1f3eca4475e2fcf74915f8707 to your computer and use it in GitHub Desktop.
lottie report from VisualCodeGrepper
<?xml version="1.0" encoding="utf-8"?>
<!--XML Export of VCG Results for directory: . Scanned for Java security issues.-->
<CodeIssueCollection>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableColorValue.java</FileName>
<Line>18</Line>
<CodeLine> for (int i = 0; i &lt; colorArray.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableIntegerValue.java</FileName>
<Line>120</Line>
<CodeLine> for (int i = 0; i &lt; keyValues.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableIntegerValue.java</FileName>
<Line>121</Line>
<CodeLine> keyValues.set(i, keyValues.get(i) * 255 / 100);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableLayer.java</FileName>
<Line>245</Line>
<CodeLine> alpha = alpha * this.alpha.getValue() / 255;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableLayer.java</FileName>
<Line>252</Line>
<CodeLine> for (int i = 0; i &lt; layers.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>6</Priority>
<Severity>Suspicious Comment</Severity>
<Title>Comment Indicates Potentially Unfinished Code</Title>
<Description>The comment includes some wording which indicates that the developer regards it as unfinished or does not trust it to work correctly.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableLayer.java</FileName>
<Line>283</Line>
<CodeLine>TODO: Determine if these null checks are necessary.</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableLayer.java</FileName>
<Line>335</Line>
<CodeLine> return (int) (alpha * parentAlpha * 255);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableLayer.java</FileName>
<Line>402</Line>
<CodeLine> for (int i = 0; i &lt; animations.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableLayer.java</FileName>
<Line>406</Line>
<CodeLine> for (int i = 0; i &lt; layers.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatablePathValue.java</FileName>
<Line>499</Line>
<CodeLine> for (int i = 0; i &lt; keyframes.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatablePathValue.java</FileName>
<Line>507</Line>
<CodeLine> for (int i = keyframes.length() - 1; i &gt;= 0; i--) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatablePathValue.java</FileName>
<Line>513</Line>
<CodeLine> "Invalid frame compDuration " + startFrame + "-&gt;" + endFrame);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatablePathValue.java</FileName>
<Line>515</Line>
<CodeLine> durationFrames = endFrame - startFrame;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatablePathValue.java</FileName>
<Line>526</Line>
<CodeLine> for (int i = 0; i &lt; keyframes.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatablePathValue.java</FileName>
<Line>529</Line>
<CodeLine> float timePercentage = (float) (frame - startFrame) / (float) durationFrames;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableShapeValue.java</FileName>
<Line>777</Line>
<CodeLine> for (int i = 1; i &lt; pointsArray.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableShapeValue.java</FileName>
<Line>779</Line>
<CodeLine> PointF previousVertex = vertexAtIndex(i - 1, pointsArray);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\AnimatableShapeValue.java</FileName>
<Line>780</Line>
<CodeLine> PointF cp1 = vertexAtIndex(i - 1, outTangents);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\BaseAnimatableValue.java</FileName>
<Line>966</Line>
<CodeLine> for (int i = 0; i &lt; keyframes.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\BaseAnimatableValue.java</FileName>
<Line>974</Line>
<CodeLine> for (int i = keyframes.length() - 1; i &gt;= 0; i--) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\BaseAnimatableValue.java</FileName>
<Line>980</Line>
<CodeLine> "Invalid frame compDuration " + startFrame + "-&gt;" + endFrame);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\BaseAnimatableValue.java</FileName>
<Line>982</Line>
<CodeLine> durationFrames = endFrame - startFrame;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\BaseAnimatableValue.java</FileName>
<Line>993</Line>
<CodeLine> for (int i = 0; i &lt; keyframes.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\BaseAnimatableValue.java</FileName>
<Line>996</Line>
<CodeLine> float timePercentage = (float) (frame - startFrame) / (float) durationFrames;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ColorKeyframeAnimation.java</FileName>
<Line>1148</Line>
<CodeLine> float endKeytime = keyTimes.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ColorKeyframeAnimation.java</FileName>
<Line>1160</Line>
<CodeLine> int endColor = values.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\GroupLayerView.java</FileName>
<Line>1380</Line>
<CodeLine> for (int i = 0; i &lt; reversedItems.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\KeyframeAnimation.java</FileName>
<Line>1504</Line>
<CodeLine> private int cachedKeyframeIndex = -1;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\KeyframeAnimation.java</FileName>
<Line>1553</Line>
<CodeLine> for (int i = 0; i &lt; listeners.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\KeyframeAnimation.java</FileName>
<Line>1560</Line>
<CodeLine> if (cachedKeyframeIndex != -1 &amp;&amp; progress &gt;= cachedKeyframeIndexStart &amp;&amp;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\KeyframeAnimation.java</FileName>
<Line>1565</Line>
<CodeLine> while (keyTime &lt; progress &amp;&amp; keyframeIndex &lt; keyTimes.size() - 1) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\KeyframeAnimation.java</FileName>
<Line>1566</Line>
<CodeLine> keyframeIndex++;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\KeyframeAnimation.java</FileName>
<Line>1570</Line>
<CodeLine> cachedKeyframeIndexStart = keyTimes.get(cachedKeyframeIndex - 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\KeyframeAnimation.java</FileName>
<Line>1574</Line>
<CodeLine> return keyframeIndex - 1;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>7</Priority>
<Severity>Potential Issue</Severity>
<Title>Public Class Not Declared as Final</Title>
<Description>The class is not declared as final as per OWASP recommendations. It is considered best practice to make classes final where possible and practical (i.e. It has no classes which inherit from it). Non-Final classes can allow an attacker to extend a class in a malicious manner. Manually inspect the code to determine whether or not it is practical to make this class final.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\L.java</FileName>
<Line>1600</Line>
<CodeLine>public class L {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\Layer.java</FileName>
<Line>1746</Line>
<CodeLine> for (int i = 0; i &lt; jsonMasks.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\Layer.java</FileName>
<Line>1760</Line>
<CodeLine> for (int i = 0; i &lt; shapes.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\Layer.java</FileName>
<Line>1779</Line>
<CodeLine> long length = composition.getEndFrame() - composition.getStartFrame();</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\Layer.java</FileName>
<Line>1815</Line>
<CodeLine> private long parentId = -1;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LayerView.java</FileName>
<Line>2052</Line>
<CodeLine> for (int i = 0; i &lt; reversedItems.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>6</Priority>
<Severity>Suspicious Comment</Severity>
<Title>Comment Indicates Potentially Unfinished Code</Title>
<Description>The comment includes some wording which indicates that the developer regards it as unfinished or does not trust it to work correctly.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LayerView.java</FileName>
<Line>2131</Line>
<CodeLine>TODO: make this a field like other animation listeners and remove existing ones.</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LayerView.java</FileName>
<Line>2202</Line>
<CodeLine> for (int i = 0; i &lt; mask.getMasks().size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>7</Priority>
<Severity>Potential Issue</Severity>
<Title>Public Class Not Declared as Final</Title>
<Description>The class is not declared as final as per OWASP recommendations. It is considered best practice to make classes final where possible and practical (i.e. It has no classes which inherit from it). Non-Final classes can allow an attacker to extend a class in a malicious manner. Manually inspect the code to determine whether or not it is practical to make this class final.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieAnimationView.java</FileName>
<Line>2285</Line>
<CodeLine>public class LottieAnimationView extends AppCompatImageView {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>4</Priority>
<Severity>Standard</Severity>
<Title>Class Contains Inner Class</Title>
<Description>When translated into bytecode, any inner classes are rebuilt within the JVM as external classes within the same package. As a result, any class in the package can access these inner classes. The enclosing class's private fields become protected fields, accessible by the now external 'inner class'.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieAnimationView.java</FileName>
<Line>2593</Line>
<CodeLine> private static class SavedState extends BaseSavedState {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>7</Priority>
<Severity>Potential Issue</Severity>
<Title>Public Class Not Declared as Final</Title>
<Description>The class is not declared as final as per OWASP recommendations. It is considered best practice to make classes final where possible and practical (i.e. It has no classes which inherit from it). Non-Final classes can allow an attacker to extend a class in a malicious manner. Manually inspect the code to determine whether or not it is practical to make this class final.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2657</Line>
<CodeLine>public class LottieComposition {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2746</Line>
<CodeLine> int width = -1;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2747</Line>
<CodeLine> int height = -1;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2754</Line>
<CodeLine> if (width != -1 &amp;&amp; height != -1) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2755</Line>
<CodeLine> int scaledWidth = (int) (width * composition.scale);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2756</Line>
<CodeLine> int scaledHeight = (int) (height * composition.scale);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2775</Line>
<CodeLine> long frameDuration = composition.endFrame - composition.startFrame;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2776</Line>
<CodeLine> composition.duration = (long) (frameDuration / (float) composition.frameRate * 1000);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2781</Line>
<CodeLine> for (int i = 0; i &lt; jsonLayers.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>6</Priority>
<Severity>Suspicious Comment</Severity>
<Title>Comment Indicates Potentially Unfinished Code</Title>
<Description>The comment includes some wording which indicates that the developer regards it as unfinished or does not trust it to work correctly.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2790</Line>
<CodeLine>TODO: Significant work will have to be done to properly support them.</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2793</Line>
<CodeLine> for (int i = 0; i &lt; assets.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2796</Line>
<CodeLine> for (int j = 0; j &lt; layers.length(); j++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>4</Priority>
<Severity>Standard</Severity>
<Title>Class Contains Inner Class</Title>
<Description>When translated into bytecode, any inner classes are rebuilt within the JVM as external classes within the same package. As a result, any class in the package can access these inner classes. The enclosing class's private fields become protected fields, accessible by the now external 'inner class'.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2890</Line>
<CodeLine> private static final class FileCompositionLoader extends CompositionLoader&lt;InputStream&gt; {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>4</Priority>
<Severity>Standard</Severity>
<Title>Class Contains Inner Class</Title>
<Description>When translated into bytecode, any inner classes are rebuilt within the JVM as external classes within the same package. As a result, any class in the package can access these inner classes. The enclosing class's private fields become protected fields, accessible by the now external 'inner class'.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2911</Line>
<CodeLine> private static final class JsonCompositionLoader extends CompositionLoader&lt;JSONObject&gt; {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>4</Priority>
<Severity>Standard</Severity>
<Title>Class Contains Inner Class</Title>
<Description>When translated into bytecode, any inner classes are rebuilt within the JVM as external classes within the same package. As a result, any class in the package can access these inner classes. The enclosing class's private fields become protected fields, accessible by the now external 'inner class'.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieComposition.java</FileName>
<Line>2932</Line>
<CodeLine> private abstract static class CompositionLoader&lt;Params&gt;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieDrawable.java</FileName>
<Line>3028</Line>
<CodeLine> for (int i = composition.getLayers().size() - 1; i &gt;= 0; i--) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieDrawable.java</FileName>
<Line>3060</Line>
<CodeLine> for (int i = 0; i &lt; layers.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieDrawable.java</FileName>
<Line>3065</Line>
<CodeLine> for (int i = 0; i &lt; layerMap.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieDrawable.java</FileName>
<Line>3152</Line>
<CodeLine> return composition == null ? -1 : composition.getBounds().width();</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieDrawable.java</FileName>
<Line>3156</Line>
<CodeLine> return composition == null ? -1 : composition.getBounds().height();</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>7</Priority>
<Severity>Potential Issue</Severity>
<Title>Public Class Not Declared as Final</Title>
<Description>The class is not declared as final as per OWASP recommendations. It is considered best practice to make classes final where possible and practical (i.e. It has no classes which inherit from it). Non-Final classes can allow an attacker to extend a class in a malicious manner. Manually inspect the code to determine whether or not it is practical to make this class final.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\LottieViewAnimator.java</FileName>
<Line>3212</Line>
<CodeLine>public class LottieViewAnimator {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>6</Priority>
<Severity>Suspicious Comment</Severity>
<Title>Comment Indicates Potentially Unfinished Code</Title>
<Description>The comment includes some wording which indicates that the developer regards it as unfinished or does not trust it to work correctly.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\Mask.java</FileName>
<Line>3419</Line>
<CodeLine>TODO: use this.</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\MaskLayer.java</FileName>
<Line>3448</Line>
<CodeLine> for (int i = 0; i &lt; masks.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\MiscUtils.java</FileName>
<Line>3472</Line>
<CodeLine> for (int i = 0; i &lt; shapeData.getCurves().size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\NumberKeyframeAnimation.java</FileName>
<Line>3521</Line>
<CodeLine> float endKeytime = keyTimes.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\NumberKeyframeAnimation.java</FileName>
<Line>3533</Line>
<CodeLine> Number endValue = values.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\PathKeyframeAnimation.java</FileName>
<Line>3555</Line>
<CodeLine> private int pathMeasureKeyframeIndex = -1;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\PathKeyframeAnimation.java</FileName>
<Line>3574</Line>
<CodeLine> if (pathMeasureKeyframeIndex != segmentedPath.getSegmentCount() - 1 || pathMeasure == null) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\PathKeyframeAnimation.java</FileName>
<Line>3575</Line>
<CodeLine> pathMeasureKeyframeIndex = segmentedPath.getSegmentCount() - 1;</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\PathKeyframeAnimation.java</FileName>
<Line>3591</Line>
<CodeLine> float endKeytime = keyTimes.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\PointKeyframeAnimation.java</FileName>
<Line>3634</Line>
<CodeLine> float endKeytime = keyTimes.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\PointKeyframeAnimation.java</FileName>
<Line>3646</Line>
<CodeLine> PointF endPoint = points.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\RectLayer.java</FileName>
<Line>3890</Line>
<CodeLine> return (int) ((shapeAlpha / 255f * transformAlpha / 255f * layerAlpha / 255f) * 255);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\RectLayer.java</FileName>
<Line>3962</Line>
<CodeLine> for (int i = 0; i &lt; lineDashPattern.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ScaleKeyframeAnimation.java</FileName>
<Line>4078</Line>
<CodeLine> float endKeytime = keyTimes.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ScaleKeyframeAnimation.java</FileName>
<Line>4090</Line>
<CodeLine> ScaleXY endTransform = transforms.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>6</Priority>
<Severity>Suspicious Comment</Severity>
<Title>Comment Indicates Potentially Unfinished Code</Title>
<Description>The comment includes some wording which indicates that the developer regards it as unfinished or does not trust it to work correctly.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\SegmentedPath.java</FileName>
<Line>4144</Line>
<CodeLine>This is a small hack that ensures that an actual path will get created.</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeData.java</FileName>
<Line>4224</Line>
<CodeLine> for (int i = shapeData1.getCurves().size() - 1; i &gt;= 0; i--) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeData.java</FileName>
<Line>4235</Line>
<CodeLine> for (int i = curves.size() - 1; i &gt;= 0; i--) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeGroup.java</FileName>
<Line>4385</Line>
<CodeLine> for (int i = 0; i &lt; jsonItems.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeKeyframeAnimation.java</FileName>
<Line>4443</Line>
<CodeLine> float endKeytime = keyTimes.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeKeyframeAnimation.java</FileName>
<Line>4455</Line>
<CodeLine> ShapeData endShapeData = shapeData.get(keyframeIndex + 1);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>6</Priority>
<Severity>Suspicious Comment</Severity>
<Title>Comment Indicates Potentially Unfinished Code</Title>
<Description>The comment includes some wording which indicates that the developer regards it as unfinished or does not trust it to work correctly.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeLayer.java</FileName>
<Line>4605</Line>
<CodeLine>TODO: When the path changes, we probably have to scale it again.</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeLayer.java</FileName>
<Line>4700</Line>
<CodeLine> return (int) ((shapeAlpha / 255f * transformAlpha / 255f * layerAlpha / 255f) * 255);</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeLayer.java</FileName>
<Line>4784</Line>
<CodeLine> for (int i = 0; i &lt; lineDashPattern.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeStroke.java</FileName>
<Line>5032</Line>
<CodeLine> for (int i = 0; i &lt; dashesJson.length(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>6</Priority>
<Severity>Suspicious Comment</Severity>
<Title>Comment Indicates Potentially Unfinished Code</Title>
<Description>The comment includes some wording which indicates that the developer regards it as unfinished or does not trust it to work correctly.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\ShapeStroke.java</FileName>
<Line>5044</Line>
<CodeLine>If there is only 1 value then it is assumed to be equal parts on and off.</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
<CodeIssue>
<Priority>5</Priority>
<Severity>Low</Severity>
<Title>Operation on Primitive Data Type</Title>
<Description>The code appears to be carrying out a mathematical operation on a primitive data type. In some circumstances this can result in an overflow and unexpected behaviour. Check the code manually to determine the risk.</Description>
<FileName>Z:\Users\joubin\Downloads\scanthis\lottie\src\main\java\com\airbnb\lottie\SplitDimensionPathKeyframeAnimation.java</FileName>
<Line>5249</Line>
<CodeLine> for (int i = 0; i &lt; listeners.size(); i++) {</CodeLine>
<Checked>False</Checked>
<CheckColour>LawnGreen</CheckColour>
</CodeIssue>
</CodeIssueCollection>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment