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

Commit cadd51f7 authored by Feng Yu's avatar Feng Yu Committed by Jessica Wagantall
Browse files

DO NOT MERGE: Fix vulnerability where large GPS XTRA data can be injected....

DO NOT MERGE: Fix vulnerability where large GPS XTRA data can be injected. -Can potentially crash system with OOM. Bug: 29555864

CYNGNOS-3286
Change-Id: I7157f48dddf148a9bcab029cf12e26a58d8054f4
parent 16f955e2
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ public class GpsXtraDownloader {

    private static final String TAG = "GpsXtraDownloader";
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
    private static final long MAXIMUM_CONTENT_LENGTH_BYTES = 1000000;  // 1MB.
    private static final String DEFAULT_USER_AGENT = "Android";

    private final Context mContext;
@@ -150,8 +151,9 @@ public class GpsXtraDownloader {
            byte[] body = null;
            if (entity != null) {
                try {
                    if (entity.getContentLength() > 0) {
                        body = new byte[(int) entity.getContentLength()];
                    long contentLength = entity.getContentLength();
                    if (contentLength > 0 && contentLength <= MAXIMUM_CONTENT_LENGTH_BYTES) {
                        body = new byte[(int) contentLength];
                        DataInputStream dis = new DataInputStream(entity.getContent());
                        try {
                            dis.readFully(body);