summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2021-01-31 13:04:36 +0100
committerGravatar GitHub <noreply@github.com> 2021-01-31 13:04:36 +0100
commit45ee7a36d5de18376c89ef96726c6e88ad37b9ba (patch)
tree97e26c123893b7f3395bfa920a90f759d8eecd6d /lib
parent2b007ee989425bdf352b28c6cddead60a54095c6 (diff)
PHP8: SimplePie wrong use of isset (#3404)
#fix https://github.com/FreshRSS/FreshRSS/issues/3401 (crash with PHP 8+) `ceil()` crashes in PHP8+ in case of invalid input such as empty string. `intval()` fixes the problem with almost identical behaviour than `ceil()` in PHP7- (except for floating point values) #fix FreshRSS/FreshRSS#3401 (crash with PHP 8+) Example with feed http://podcast.hr2.de/derTag/podcast.xml ```xml <enclosure url="https://mp3podcasthr-a.akamaihd.net:443/mp3/podcast/derTag/derTag_20210129_87093232.mp3" length="" type="audio/mpeg"/> ``` `isset("")` passes and then `ceil("")` crashes due to wrong type in PHP8+: ``` Uncaught TypeError: ceil(): Argument #1 ($num) must be of type int|float, string given in ./SimplePie/SimplePie/Item.php:2871 ``` Upstream patch https://github.com/simplepie/simplepie/pull/670
Diffstat (limited to 'lib')
-rw-r--r--lib/SimplePie/SimplePie/Item.php10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/SimplePie/SimplePie/Item.php b/lib/SimplePie/SimplePie/Item.php
index 5be6b1994..71a9bdbaa 100644
--- a/lib/SimplePie/SimplePie/Item.php
+++ b/lib/SimplePie/SimplePie/Item.php
@@ -1803,7 +1803,7 @@ class SimplePie_Item
}
if (isset($content['attribs']['']['fileSize']))
{
- $length = ceil($content['attribs']['']['fileSize']);
+ $length = intval($content['attribs']['']['fileSize']);
}
if (isset($content['attribs']['']['medium']))
{
@@ -2425,7 +2425,7 @@ class SimplePie_Item
}
if (isset($content['attribs']['']['fileSize']))
{
- $length = ceil($content['attribs']['']['fileSize']);
+ $length = intval($content['attribs']['']['fileSize']);
}
if (isset($content['attribs']['']['medium']))
{
@@ -2790,7 +2790,7 @@ class SimplePie_Item
}
if (isset($link['attribs']['']['length']))
{
- $length = ceil($link['attribs']['']['length']);
+ $length = intval($link['attribs']['']['length']);
}
if (isset($link['attribs']['']['title']))
{
@@ -2833,7 +2833,7 @@ class SimplePie_Item
}
if (isset($link['attribs']['']['length']))
{
- $length = ceil($link['attribs']['']['length']);
+ $length = intval($link['attribs']['']['length']);
}
// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
@@ -2868,7 +2868,7 @@ class SimplePie_Item
}
if (isset($enclosure[0]['attribs']['']['length']))
{
- $length = ceil($enclosure[0]['attribs']['']['length']);
+ $length = intval($enclosure[0]['attribs']['']['length']);
}
// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor