diff --git a/app/src/main/java/com/nextcloud/android/sso/InputStreamBinder.java b/app/src/main/java/com/nextcloud/android/sso/InputStreamBinder.java index 22195227bbad..8a4d31431f45 100644 --- a/app/src/main/java/com/nextcloud/android/sso/InputStreamBinder.java +++ b/app/src/main/java/com/nextcloud/android/sso/InputStreamBinder.java @@ -28,6 +28,7 @@ import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.utils.EncryptionUtils; +import io.github.pixee.security.BoundedLineReader; import org.apache.commons.httpclient.HttpConnection; import org.apache.commons.httpclient.HttpMethodBase; @@ -489,10 +490,10 @@ private static String inputStreamToString(InputStream inputStream) { try { StringBuilder total = new StringBuilder(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); - String line = reader.readLine(); + String line = BoundedLineReader.readLine(reader, 5_000_000); while (line != null) { total.append(line).append('\n'); - line = reader.readLine(); + line = BoundedLineReader.readLine(reader, 5_000_000); } return total.toString(); } catch (Exception e) { diff --git a/app/src/main/java/com/owncloud/android/ui/asynctasks/LoadingVersionNumberTask.java b/app/src/main/java/com/owncloud/android/ui/asynctasks/LoadingVersionNumberTask.java index eb40e28a0d1e..12c4fa9bbeec 100644 --- a/app/src/main/java/com/owncloud/android/ui/asynctasks/LoadingVersionNumberTask.java +++ b/app/src/main/java/com/owncloud/android/ui/asynctasks/LoadingVersionNumberTask.java @@ -10,6 +10,7 @@ import android.os.AsyncTask; import com.owncloud.android.lib.common.utils.Log_OC; +import io.github.pixee.security.BoundedLineReader; import java.io.BufferedReader; import java.io.IOException; @@ -35,7 +36,7 @@ protected Integer doInBackground(String... args) { URL url = new URL(args[0]); final Charset charset = Charset.defaultCharset(); try (BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), charset))) { - return Integer.parseInt(in.readLine()); + return Integer.parseInt(BoundedLineReader.readLine(in, 5_000_000)); } catch (IOException e) { Log_OC.e(TAG, "Error loading version number", e); diff --git a/app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java b/app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java index ece593b437a8..44c6a813afa0 100755 --- a/app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java +++ b/app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java @@ -72,6 +72,7 @@ import com.owncloud.android.utils.PermissionUtil; import com.owncloud.android.utils.UriUtils; import com.owncloud.android.utils.theme.ViewThemeUtils; +import io.github.pixee.security.BoundedLineReader; import org.greenrobot.eventbus.EventBus; @@ -141,7 +142,7 @@ private String getUrlFromFile(String storagePath, Pattern pattern) { br = new BufferedReader(fr); String line; - while ((line = br.readLine()) != null) { + while ((line = BoundedLineReader.readLine(br, 5_000_000)) != null) { Matcher m = pattern.matcher(line); if (m.find()) { url = m.group(1); diff --git a/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java b/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java index 66892aa05e4b..84d52b5e42da 100644 --- a/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java +++ b/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java @@ -80,6 +80,7 @@ import com.owncloud.android.utils.svg.SvgDecoder; import com.owncloud.android.utils.svg.SvgDrawableTranscoder; import com.owncloud.android.utils.theme.ViewThemeUtils; +import io.github.pixee.security.BoundedLineReader; import org.greenrobot.eventbus.EventBus; @@ -620,7 +621,7 @@ public static String getData(InputStream inputStream) { String line; StringBuilder text = new StringBuilder(); try { - while ((line = buffreader.readLine()) != null) { + while ((line = BoundedLineReader.readLine(buffreader, 5_000_000)) != null) { text.append(line); text.append('\n'); } diff --git a/app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java b/app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java index 4ceb2847a9cb..1695c2fe757f 100644 --- a/app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java +++ b/app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java @@ -52,6 +52,7 @@ import com.owncloud.android.lib.resources.status.SendClientDiagnosticRemoteOperation; import com.owncloud.android.operations.UploadException; import com.owncloud.android.utils.theme.CapabilityUtils; +import io.github.pixee.security.BoundedLineReader; import org.apache.commons.httpclient.HttpStatus; @@ -1200,7 +1201,7 @@ public static ArrayList getRandomWords(int count, Context context) throw List lines = new ArrayList<>(); String line; - while ((line = bufferedReader.readLine()) != null) { + while ((line = BoundedLineReader.readLine(bufferedReader, 5_000_000)) != null) { lines.add(line); }