From d6b6764d85a58279fee13210ceccd6ab6297ad97 Mon Sep 17 00:00:00 2001 From: Daniel Rodriguez Rivera Date: Sat, 25 Apr 2026 20:38:35 +0000 Subject: [PATCH] Validate likes string before parsing to Integer fix: improve likes string parser error handling with validation Add null and empty string validation before parsing likes string. If no digits are found in the processed string, throw a descriptive ParsingException instead of allowing Integer.parseInt() to fail with a cryptic NumberFormatException. This provides clearer error messages that help users understand why parsing failed and improves overall error handling consistency. --- .../youtube/extractors/YoutubeStreamExtractor.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java index ee43bdd9..3219903f 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java @@ -415,7 +415,13 @@ public long getLikeCount() throws ParsingException { return 0; } - return Integer.parseInt(Utils.removeNonDigitCharacters(likesString)); + final String digitsOnly = Utils.removeNonDigitCharacters(likesString); + + if (digitsOnly == null || digitsOnly.isEmpty()) { + throw new ParsingException("Could not extract digits from \"" + likesString + "\""); + } + + return Integer.parseInt(digitsOnly); } catch (final NumberFormatException nfe) { throw new ParsingException("Could not parse \"" + likesString + "\" as an Integer", nfe);