Skip to content

Commit a561e89

Browse files
qngamickael-menu
andauthored
Don't read content whose length is unknown in sniffing (readium#485)
Co-authored-by: Mickaël Menu <mickael.menu@gmail.com>
1 parent 975e8af commit a561e89

File tree

1 file changed

+5
-2
lines changed
  • readium/shared/src/main/java/org/readium/r2/shared/util/format

1 file changed

+5
-2
lines changed

readium/shared/src/main/java/org/readium/r2/shared/util/format/Sniffers.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import org.readium.r2.shared.util.data.decodeRwpm
2525
import org.readium.r2.shared.util.data.decodeString
2626
import org.readium.r2.shared.util.data.decodeXml
2727
import org.readium.r2.shared.util.data.readDecodeOrElse
28-
import org.readium.r2.shared.util.getOrDefault
2928
import org.readium.r2.shared.util.getOrElse
3029
import org.readium.r2.shared.util.mediatype.MediaType
3130

@@ -1245,7 +1244,11 @@ public object JavaScriptSniffer : FormatSniffer {
12451244
}
12461245

12471246
private suspend fun Readable.canReadWholeBlob() =
1248-
length().getOrDefault(0) < 5 * 1000 * 1000
1247+
length()
1248+
.fold(
1249+
onSuccess = { it < 5 * 1000 * 1000 },
1250+
onFailure = { false }
1251+
)
12491252

12501253
/**
12511254
* Returns whether the content is a JSON object containing all of the given root keys.

0 commit comments

Comments
 (0)