Project

General

Profile

Actions

Bug #16005

closed

PHP error from invalid IPv6 address on ``diagnostics_ping.php``

Added by Marcos M 3 months ago. Updated 3 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Diagnostics
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
25.03
Release Notes:
Default
Affected Version:
Affected Architecture:

Description

Steps to reproduce:
  1. Go to Diagnostics > Ping
  2. Set IP Protocol to IPv6
  3. Enter 2001::1:2:3:4:5:6:7:8 and click Ping
Crash report begins.  Anonymous machine information:

amd64
15.0-CURRENT
FreeBSD 15.0-CURRENT #0 plus-RELENG_24_11-n256407-1bbb3194162: Fri Nov 22 05:08:46 UTC 2024     root@freebsd:/var/jenkins/workspace/pfSense-Plus-snapshots-24_11-main/obj/amd64/AKWlAIiM/var/jenkins/workspace/pfSense-Plus-snapshots-24_11-main/sources/FreeBS

Crash report details:

PHP Errors:
[20-Jan-2025 19:43:05 Etc/UTC] PHP Fatal error:  Uncaught ValueError: str_repeat(): Argument #2 ($times) must be greater than or equal to 0 in /usr/local/share/pear/Net/IPv6.php:684
Stack trace:
#0 /usr/local/share/pear/Net/IPv6.php(684): str_repeat()
#1 /usr/local/share/pear/Net/IPv6.php(931): Net_IPv6::uncompress()
#2 /usr/local/share/pear/Net/IPv6.php(985): Net_IPv6::SplitV64()
#3 /etc/inc/util.inc(861): Net_IPv6::checkIPv6()
#4 /etc/inc/util.inc(830): is_ipaddrv6()
#5 /usr/local/www/diag_ping.php(72): is_ipaddr()
#6 {main}
  thrown in /usr/local/share/pear/Net/IPv6.php on line 684

No FreeBSD crash data found.

Relevant line in Net_IPv6::uncompress:

$fill = str_repeat(':0:', 6-$c2-$c1);

Actions #1

Updated by Marcos M 3 months ago

  • Description updated (diff)
  • Status changed from In Progress to Pull Request Review
Actions #2

Updated by Marcos M 3 months ago

  • Status changed from Pull Request Review to Feedback
  • % Done changed from 0 to 100
Actions #3

Updated by Marcos M 3 months ago

  • Status changed from Feedback to Resolved
Actions #4

Updated by Jim Pingle 3 months ago

  • Subject changed from An invalid IPv6 address in ``Diagnostics > Ping`` can result in a PHP error to PHP error from invalid IPv6 address on ``diagnostics_ping.php``
Actions

Also available in: Atom PDF