Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fping for openSUSE:Factory checked 
in at 2025-09-25 18:45:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fping (Old)
 and      /work/SRC/openSUSE:Factory/.fping.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fping"

Thu Sep 25 18:45:17 2025 rev:41 rq:1307026 version:5.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/fping/fping.changes      2025-01-07 
20:55:29.786067293 +0100
+++ /work/SRC/openSUSE:Factory/.fping.new.11973/fping.changes   2025-09-25 
18:47:01.330507739 +0200
@@ -1,0 +2,8 @@
+Thu Sep 25 05:23:24 UTC 2025 - Marius Grossu <[email protected]>
+
+- Update to 5.4:  
+  * Memory allocation safety checks for event storage (thanks David.A for the 
bug report)
+  * Fix off-by-one boundary check in seqmap code (thanks David.A for the bug 
report)
+  * The minimum value for the period (-p flag) is now 0.001 milliseconds
+
+-------------------------------------------------------------------

Old:
----
  fping-5.3.tar.gz
  fping-5.3.tar.gz.asc

New:
----
  fping-5.4.tar.gz
  fping-5.4.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fping.spec ++++++
--- /var/tmp/diff_new_pack.BP5a9w/_old  2025-09-25 18:47:02.058538211 +0200
+++ /var/tmp/diff_new_pack.BP5a9w/_new  2025-09-25 18:47:02.062538378 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package fping
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           fping
-Version:        5.3
+Version:        5.4
 Release:        0
 Summary:        A program to ping multiple hosts
 License:        MIT

++++++ fping-5.3.tar.gz -> fping-5.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fping-5.3/CHANGELOG.md new/fping-5.4/CHANGELOG.md
--- old/fping-5.3/CHANGELOG.md  2025-01-02 18:10:11.000000000 +0100
+++ new/fping-5.4/CHANGELOG.md  2025-08-19 14:19:41.000000000 +0200
@@ -1,6 +1,16 @@
-fping 5.3 (2025-01-02)
+fping 5.4 (2025-08-19)
 ======================
 
+## Bugfixes
+
+- Memory allocation safety checks for event storage (thanks David.A for bug 
report)
+- Fix off-by-one boundary check in seqmap code (thanks David.A for bug report)
+- The minimum value for the period (-p flag) is now 0.001 milliseconds,
+  since it probably never makes sense to use a smaller value, and to avoid 
doing
+  a very large memory allocation for event storage.
+
+fping 5.3 (2025-01-02)
+======================
 
 ## New features
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fping-5.3/ci/test-03-forbidden.pl 
new/fping-5.4/ci/test-03-forbidden.pl
--- old/fping-5.3/ci/test-03-forbidden.pl       2025-01-02 18:10:11.000000000 
+0100
+++ new/fping-5.4/ci/test-03-forbidden.pl       2025-08-19 14:19:41.000000000 
+0200
@@ -7,8 +7,7 @@
 $cmd1->exit_is_num(1);
 $cmd1->stdout_is_eq("");
 $cmd1->stderr_is_eq(<<END);
-fping: these options are too risky for mere mortals.
-fping: You need -i >= 1 and -p >= 10
+fping: -i must be >= 1
 END
 
 # fping -p 9
@@ -16,8 +15,7 @@
 $cmd2->exit_is_num(1);
 $cmd2->stdout_is_eq("");
 $cmd2->stderr_is_eq(<<END);
-fping: these options are too risky for mere mortals.
-fping: You need -i >= 1 and -p >= 10
+fping: -p must be >= 10
 END
 
 # fping -H 300
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fping-5.3/configure new/fping-5.4/configure
--- old/fping-5.3/configure     2025-01-02 18:10:43.000000000 +0100
+++ new/fping-5.4/configure     2025-08-19 14:21:17.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for fping 5.3.
+# Generated by GNU Autoconf 2.71 for fping 5.4.
 #
 #
 # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -607,8 +607,8 @@
 # Identity of this package.
 PACKAGE_NAME='fping'
 PACKAGE_TARNAME='fping'
-PACKAGE_VERSION='5.3'
-PACKAGE_STRING='fping 5.3'
+PACKAGE_VERSION='5.4'
+PACKAGE_STRING='fping 5.4'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1323,7 +1323,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures fping 5.3 to adapt to many kinds of systems.
+\`configure' configures fping 5.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1395,7 +1395,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of fping 5.3:";;
+     short | recursive ) echo "Configuration of fping 5.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1497,7 +1497,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-fping configure 5.3
+fping configure 5.4
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1805,7 +1805,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by fping $as_me 5.3, which was
+It was created by fping $as_me 5.4, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4715,7 +4715,7 @@
 
 # Define the identity of the package.
  PACKAGE='fping'
- VERSION='5.3'
+ VERSION='5.4'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -6601,7 +6601,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by fping $as_me 5.3, which was
+This file was extended by fping $as_me 5.4, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6669,7 +6669,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-fping config.status 5.3
+fping config.status 5.4
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fping-5.3/configure.ac new/fping-5.4/configure.ac
--- old/fping-5.3/configure.ac  2025-01-02 18:10:11.000000000 +0100
+++ new/fping-5.4/configure.ac  2025-08-19 14:19:41.000000000 +0200
@@ -3,7 +3,7 @@
 dnl Minimum Autoconf version required.
 AC_PREREQ(2.59)
 
-AC_INIT([fping],[5.3])
+AC_INIT([fping],[5.4])
 
 m4_ifdef([AC_AUTOCONF_VERSION],[AC_USE_SYSTEM_EXTENSIONS], [AC_GNU_SOURCE])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fping-5.3/doc/fping.8 new/fping-5.4/doc/fping.8
--- old/fping-5.3/doc/fping.8   2025-01-02 18:10:45.000000000 +0100
+++ new/fping-5.4/doc/fping.8   2025-08-19 14:21:20.000000000 +0200
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -15,29 +16,12 @@
 .ft R
 .fi
 ..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
 .ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
 .    ds C` ""
 .    ds C' ""
 'br\}
 .el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
 .    ds C`
 .    ds C'
 'br\}
@@ -68,85 +52,23 @@
 .    \}
 .\}
 .rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : 
\\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o 
\\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
 .IX Title "FPING 8"
-.TH FPING 8 "2025-01-02" "fping" ""
+.TH FPING 8 2025-08-19 fping ""
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
-.SH "NAME"
+.SH NAME
 fping \- send ICMP ECHO_REQUEST packets to network hosts
-.SH "SYNOPSIS"
+.SH SYNOPSIS
 .IX Header "SYNOPSIS"
 \&\fBfping\fR [ \fIoptions\fR ] [ \fIsystems...\fR ]
-.SH "DESCRIPTION"
+.SH DESCRIPTION
 .IX Header "DESCRIPTION"
 \&\fBfping\fR is a program like \fBping\fR which uses the Internet Control 
Message
-Protocol (\s-1ICMP\s0) echo request to determine if a target host is 
responding.
+Protocol (ICMP) echo request to determine if a target host is responding.
 \&\fBfping\fR differs from \fBping\fR in that you can specify any number of 
targets on the
 command line, or specify a file containing the lists of targets to ping.
 Instead of sending to one target until it times out or replies, \fBfping\fR 
will
@@ -157,8 +79,8 @@
 sending a specified number of pings to a target, or looping indefinitely (as in
 \&\fBping\fR ). Unlike \fBping\fR, \fBfping\fR is meant to be used in scripts, 
so its
 output is designed to be easy to parse.  Current statistics can be obtained 
without
-termination of process with signal \s-1SIGQUIT\s0 (^\e from the keyboard on 
most systems).
-.SH "OPTIONS"
+termination of process with signal SIGQUIT (^\e from the keyboard on most 
systems).
+.SH OPTIONS
 .IX Header "OPTIONS"
 .IP "\fB\-4\fR, \fB\-\-ipv4\fR" 5
 .IX Item "-4, --ipv4"
@@ -171,15 +93,15 @@
 Show systems that are alive.  (Options \fB\-c\fR and \fB\-C\fR override 
\fB\-a\fR.)
 .IP "\fB\-A\fR, \fB\-\-addr\fR" 5
 .IX Item "-A, --addr"
-Display targets by address rather than \s-1DNS\s0 name. Combined with \-d, the 
output
+Display targets by address rather than DNS name. Combined with \-d, the output
 will be both the ip and (if available) the hostname.
-.IP "\fB\-b\fR, \fB\-\-size\fR=\fI\s-1BYTES\s0\fR" 5
+.IP "\fB\-b\fR, \fB\-\-size\fR=\fIBYTES\fR" 5
 .IX Item "-b, --size=BYTES"
 Number of bytes of ping data to send.  The minimum size (normally 12) allows
 room for the data that \fBfping\fR needs to do its work (sequence number,
-timestamp).  The reported received data size includes the \s-1IP\s0 header 
(normally
-20 bytes) and \s-1ICMP\s0 header (8 bytes), so the minimum total size is 40 
bytes.
-Default is 56, as in \fBping\fR. Maximum is the theoretical maximum \s-1IP\s0 
datagram
+timestamp).  The reported received data size includes the IP header (normally
+20 bytes) and ICMP header (8 bytes), so the minimum total size is 40 bytes.
+Default is 56, as in \fBping\fR. Maximum is the theoretical maximum IP datagram
 size (64K), though most systems limit this to a smaller, system-dependent
 number. Cannot be used together with \fB\-\-icmp\-timestamp\fR.
 .IP "\fB\-B\fR, \fB\-\-backoff\fR=\fIN\fR" 5
@@ -209,18 +131,18 @@
 shows the response time in milliseconds for each of the five requests, with the
 \&\f(CW\*(C`\-\*(C'\fR indicating that no response was received to the fourth 
request.  This
 option overrides \fB\-a\fR or \fB\-u\fR.
-.IP "\fB\-\-check\-source\fR" 5
+.IP \fB\-\-check\-source\fR 5
 .IX Item "--check-source"
 Discard Echo replies that are sourced from a different address than the target
 address. This avoids spurious reachability results on busy monitoring systems
-where two \fBfping\fR instances with the same lower 16 bits of the process 
\s-1ID\s0 may
+where two \fBfping\fR instances with the same lower 16 bits of the process ID 
may
 be running at the same time.
 .IP "\fB\-d\fR, \fB\-\-rdns\fR" 5
 .IX Item "-d, --rdns"
-Use \s-1DNS\s0 to lookup address of ping target. This allows you to give fping
-a list of \s-1IP\s0 addresses as input and print hostnames in the output. This 
is similar
+Use DNS to lookup address of ping target. This allows you to give fping
+a list of IP addresses as input and print hostnames in the output. This is 
similar
 to option \fB\-n\fR/\fB\-\-name\fR, but will force a reverse-DNS lookup even 
if you give
-hostnames as target (\s-1NAME\-\s0>\s-1IP\-\s0>\s-1NAME\s0).
+hostnames as target (NAME\->IP\->NAME).
 .IP "\fB\-D\fR, \fB\-\-timestamp\fR" 5
 .IX Item "-D, --timestamp"
 Add Unix timestamps in front of output lines generated with in looping or 
counting
@@ -230,11 +152,11 @@
 .Sp
 Allow to change the timestamp format of the \fB\-D\fR option to the following 
format types.
 .Sp
-\&\fIctime\fR = \*(L"%c\*(R" (Example: Mon Jun 10 07:50:00 2024)
+\&\fIctime\fR = "%c" (Example: Mon Jun 10 07:50:00 2024)
 .Sp
-\&\fIiso\fR = \*(L"%Y\-%m\-%dT%T%z\*(R" (Example: 2024\-06\-10T07:50:00+0200)
+\&\fIiso\fR = "%Y\-%m\-%dT%T%z" (Example: 2024\-06\-10T07:50:00+0200)
 .Sp
-\&\fIrfc3339\fR = \*(L"%Y\-%m\-%d \f(CW%H:\fR%M:%S\*(R" (Example: 2024\-06\-10 
07:50:00)
+\&\fIrfc3339\fR = "%Y\-%m\-%d \f(CW%H:\fR%M:%S" (Example: 2024\-06\-10 
07:50:00)
 .IP "\fB\-e\fR, \fB\-\-elapsed\fR" 5
 .IX Item "-e, --elapsed"
 Show elapsed (round-trip) time of packets.
@@ -243,7 +165,7 @@
 Read list of targets from a file.
 .IP "\fB\-g\fR, \fB\-\-generate\fR \fIaddr/mask\fR" 5
 .IX Item "-g, --generate addr/mask"
-Generate a target list from a supplied \s-1IP\s0 netmask, or a starting and 
ending \s-1IP.\s0
+Generate a target list from a supplied IP netmask, or a starting and ending IP.
 Specify the netmask or start/end in the targets portion of the command line. If
 a network with netmask is given, the network and broadcast addresses will be
 excluded. ex. To ping the network 192.168.1.0/24, the specified command line
@@ -263,29 +185,29 @@
 Print usage message.
 .IP "\fB\-H\fR, \fB\-\-ttl\fR=\fIN\fR" 5
 .IX Item "-H, --ttl=N"
-Set the \s-1IP TTL\s0 field (time to live hops).
-.IP "\fB\-\-print\-ttl\fR" 5
+Set the IP TTL field (time to live hops).
+.IP \fB\-\-print\-ttl\fR 5
 .IX Item "--print-ttl"
-Displays the IPv4 \s-1TTL\s0 value from the \s-1IP\s0 Header in the output.
-If \fBfping\fR cannot read the \s-1TTL\s0 value, \*(L"(\s-1TTL\s0 
unknown)\*(R" is returned.
+Displays the IPv4 TTL value from the IP Header in the output.
+If \fBfping\fR cannot read the TTL value, "(TTL unknown)" is returned.
 IPv4 only, requires root privileges or cap_net_raw.
-.IP "\fB\-i\fR, \fB\-\-interval\fR=\fI\s-1MSEC\s0\fR" 5
+.IP "\fB\-i\fR, \fB\-\-interval\fR=\fIMSEC\fR" 5
 .IX Item "-i, --interval=MSEC"
 The minimum amount of time (in milliseconds) between sending a ping packet
 to any target (default is 10, minimum is 1).
-.IP "\fB\-I\fR, \fB\-\-iface\fR=\fI\s-1IFACE\s0\fR" 5
+.IP "\fB\-I\fR, \fB\-\-iface\fR=\fIIFACE\fR" 5
 .IX Item "-I, --iface=IFACE"
-Set the interface (requires \s-1SO_BINDTODEVICE\s0 support).
-.IP "\fB\-\-icmp\-timestamp\fR" 5
+Set the interface (requires SO_BINDTODEVICE support).
+.IP \fB\-\-icmp\-timestamp\fR 5
 .IX Item "--icmp-timestamp"
-Send \s-1ICMP\s0 timestamp requests (\s-1ICMP\s0 type 13) instead of 
\s-1ICMP\s0 Echo requests.
-Print \s-1ICMP\s0 timestamps for originate, receive, and transmit, together 
with
+Send ICMP timestamp requests (ICMP type 13) instead of ICMP Echo requests.
+Print ICMP timestamps for originate, receive, and transmit, together with
 the local receive time in the same format, in addition to normal output.
-Cannot be used together with \fB\-b\fR because \s-1ICMP\s0 timestamp messages 
have a fixed size.
+Cannot be used together with \fB\-b\fR because ICMP timestamp messages have a 
fixed size.
 IPv4 only, requires root privileges or cap_net_raw.
-.IP "\fB\-k\fR, \fB\-\-fwmark\fR=\fI\s-1FWMARK\s0\fR" 5
+.IP "\fB\-k\fR, \fB\-\-fwmark\fR=\fIFWMARK\fR" 5
 .IX Item "-k, --fwmark=FWMARK"
-Set \s-1FWMARK\s0 on ping packets for policy-based routing. Requires Linux 
kernel
+Set FWMARK on ping packets for policy-based routing. Requires Linux kernel
 2.6.25<=, and root privileges or cap_net_admin.
 .IP "\fB\-l\fR, \fB\-\-loop\fR" 5
 .IX Item "-l, --loop"
@@ -293,31 +215,31 @@
 Ctrl-C; statistics about responses for each target are then displayed.
 .IP "\fB\-m\fR, \fB\-\-all\fR" 5
 .IX Item "-m, --all"
-Send pings to each of a target host's multiple \s-1IP\s0 addresses (use of 
option '\-A'
+Send pings to each of a target host's multiple IP addresses (use of option 
'\-A'
 is recommended).
 .IP "\fB\-M\fR, \fB\-\-dontfrag\fR" 5
 .IX Item "-M, --dontfrag"
-Set the \*(L"Don't Fragment\*(R" bit in the \s-1IP\s0 header (used to 
determine/test the \s-1MTU\s0).
+Set the "Don't Fragment" bit in the IP header (used to determine/test the MTU).
 .IP "\fB\-n\fR, \fB\-\-name\fR" 5
 .IX Item "-n, --name"
-If targets are specified as \s-1IP\s0 addresses, do a reverse-DNS lookup on 
them
+If targets are specified as IP addresses, do a reverse-DNS lookup on them
 to print hostnames in the output.
 .IP "\fB\-N\fR, \fB\-\-netdata\fR" 5
 .IX Item "-N, --netdata"
 Format output for netdata (\-l \-Q are required). See: <https://netdata.cloud/>
 .IP "\fB\-o\fR, \fB\-\-outage\fR" 5
 .IX Item "-o, --outage"
-Calculate \*(L"outage time\*(R" based on the number of lost pings and the 
interval used (useful for network convergence tests).
+Calculate "outage time" based on the number of lost pings and the interval 
used (useful for network convergence tests).
 .IP "\fB\-O\fR, \fB\-\-tos\fR=\fIN\fR" 5
 .IX Item "-O, --tos=N"
-Set the typ of service flag (\s-1TOS\s0). \fIN\fR can be either decimal or 
hexadecimal
+Set the typ of service flag (TOS). \fIN\fR can be either decimal or hexadecimal
 (0xh) format.
-.IP "\fB\-\-print\-tos\fR" 5
+.IP \fB\-\-print\-tos\fR 5
 .IX Item "--print-tos"
-Displays the \s-1TOS\s0 value in the output. If \fBfping\fR cannot read the 
\s-1TOS\s0 value,
-\&\*(L"(\s-1TOS\s0 unknown)\*(R" is returned.
+Displays the TOS value in the output. If \fBfping\fR cannot read the TOS value,
+"(TOS unknown)" is returned.
 IPv4 only, requires root privileges or cap_net_raw.
-.IP "\fB\-p\fR, \fB\-\-period\fR=\fI\s-1MSEC\s0\fR" 5
+.IP "\fB\-p\fR, \fB\-\-period\fR=\fIMSEC\fR" 5
 .IX Item "-p, --period=MSEC"
 In looping or counting modes (\fB\-l\fR, \fB\-c\fR, or \fB\-C\fR), this 
parameter sets
 the time in milliseconds that \fBfping\fR waits between successive packets to
@@ -325,10 +247,10 @@
 .IP "\fB\-q\fR, \fB\-\-quiet\fR" 5
 .IX Item "-q, --quiet"
 Quiet. Don't show per-probe results, but only the final summary. Also don't
-show \s-1ICMP\s0 error messages.
+show ICMP error messages.
 .IP "\fB\-Q\fR, \fB\-\-squiet\fR=\fISECS[,cumulative]\fR" 5
 .IX Item "-Q, --squiet=SECS[,cumulative]"
-Like \fB\-q\fR, but additionally show interval summary results every 
\fI\s-1SECS\s0\fR
+Like \fB\-q\fR, but additionally show interval summary results every \fISECS\fR
 seconds. With \fIcumulative\fR, show summary results since start instead of
 for the last interval, unless option \fB\-N\fR is used, too.
 .IP "\fB\-r\fR, \fB\-\-retry\fR=\fIN\fR" 5
@@ -345,7 +267,7 @@
 .IP "\fB\-S\fR, \fB\-\-src\fR=\fIaddr\fR" 5
 .IX Item "-S, --src=addr"
 Set source address.
-.IP "\fB\-t\fR, \fB\-\-timeout\fR=\fI\s-1MSEC\s0\fR" 5
+.IP "\fB\-t\fR, \fB\-\-timeout\fR=\fIMSEC\fR" 5
 .IX Item "-t, --timeout=MSEC"
 Initial target timeout in milliseconds. In the default, non-loop mode, the
 default timeout is 500ms, and it represents the amount of time that \fBfping\fR
@@ -353,9 +275,9 @@
 by the backoff factor specified with \fB\-B\fR.
 .Sp
 In loop/count mode, the default timeout is automatically adjusted to match
-the \*(L"period\*(R" value (but not more than 2000ms). You can still adjust 
the timeout
+the "period" value (but not more than 2000ms). You can still adjust the timeout
 value with this option, if you wish to, but note that setting a value larger
-than \*(L"period\*(R" produces inconsistent results, because the timeout value 
can
+than "period" produces inconsistent results, because the timeout value can
 be respected only for the last ping.
 .Sp
 Also note that any received replies that are larger than the timeout value, 
will
@@ -377,33 +299,33 @@
 .IX Item "-X, --fast-reachable=N"
 Given a list of hosts, this mode immediately exits true once N alive hosts
 have been found.
-.SH "EXAMPLES"
+.SH EXAMPLES
 .IX Header "EXAMPLES"
 Generate 20 pings to two hosts in ca. 1 second (i.e. one ping every 50 ms to
-each host), and report every ping \s-1RTT\s0 at the end:
+each host), and report every ping RTT at the end:
 .PP
 .Vb 1
 \& $ fping \-\-quiet \-\-interval=1 \-\-vcount=20 \-\-period=50 127.0.0.1 
127.0.0.2
 .Ve
-.SH "AUTHORS"
+.SH AUTHORS
 .IX Header "AUTHORS"
-.IP "\(bu" 4
-Roland J. Schemers \s-1III,\s0 Stanford University, concept and versions 1.x
-.IP "\(bu" 4
-\&\s-1RL\s0 \*(L"Bob\*(R" Morgan, Stanford University, versions 2.x
-.IP "\(bu" 4
+.IP \(bu 4
+Roland J. Schemers III, Stanford University, concept and versions 1.x
+.IP \(bu 4
+RL "Bob" Morgan, Stanford University, versions 2.x
+.IP \(bu 4
 David Papp, versions 2.3x and up
-.IP "\(bu" 4
+.IP \(bu 4
 David Schweikert, versions 3.0 and up
 .PP
 \&\fBfping website: <http://www.fping.org>\fR
-.SH "DIAGNOSTICS"
+.SH DIAGNOSTICS
 .IX Header "DIAGNOSTICS"
 Exit status is 0 if all the hosts (or the number of hosts specified with 
\fB\-x\fR
 or \fB\-X\fR) are reachable, 1 if some (or too many with \fB\-x\fR or 
\fB\-X\fR) hosts
-were unreachable, 2 if any \s-1IP\s0 addresses were not found, 3 for invalid 
command
+were unreachable, 2 if any IP addresses were not found, 3 for invalid command
 line arguments, and 4 for a system call failure.
-.SH "RESTRICTIONS"
+.SH RESTRICTIONS
 .IX Header "RESTRICTIONS"
 The number of addresses that can be generated using the \f(CW\*(C`\-g\*(C'\fR, 
\f(CW\*(C`\-\-generate\*(C'\fR
 option is limited to 131070 (the number of host addresses in one 15\-bit IPv4
@@ -411,9 +333,9 @@
 .PP
 If fping was configured with \f(CW\*(C`\-\-enable\-safe\-limits\*(C'\fR, the 
following values are
 not allowed for non-root users:
-.IP "\(bu" 4
+.IP \(bu 4
 \&\fB\-i\fR \fIn\fR, where \fIn\fR < 1 msec
-.IP "\(bu" 4
+.IP \(bu 4
 \&\fB\-p\fR \fIn\fR, where \fIn\fR < 10 msec
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fping-5.3/src/fping.c new/fping-5.4/src/fping.c
--- old/fping-5.3/src/fping.c   2025-01-02 18:10:11.000000000 +0100
+++ new/fping-5.4/src/fping.c   2025-08-19 14:19:41.000000000 +0200
@@ -147,13 +147,16 @@
 /* ICMP Timestamp has a fixed payload size of 12 bytes */
 #define ICMP_TIMESTAMP_DATA_SIZE 12
 
-/* maxima and minima */
 #ifdef FPING_SAFE_LIMITS
-#define MIN_INTERVAL 1 /* in millisec */
-#define MIN_PERHOST_INTERVAL 10 /* in millisec */
+#define MIN_INTERVAL_MS 1 /* in millisec */
+#define MIN_PERHOST_INTERVAL_MS 10 /* in millisec */
 #else
-#define MIN_INTERVAL 0
-#define MIN_PERHOST_INTERVAL 0
+#define MIN_INTERVAL_MS 0
+/* Set a very low limit for the per-host interval, even if safe limits are
+ * disabled, so that the memory allocation of the event storage is not
+ * unreasonably high. 0.001 ms would mean in theory at least 592 mbps of data
+ * sent to a single host, which probably doesn't make sense in any scenario. */
+#define MIN_PERHOST_INTERVAL_MS 0.001
 #endif
 
 /* response time array flags */
@@ -962,15 +965,15 @@
         exit(1);
     }
 
-#ifdef FPING_SAFE_LIMITS
-    if ((interval < (int64_t)MIN_INTERVAL * 1000000 || perhost_interval < 
(int64_t)MIN_PERHOST_INTERVAL * 1000000)
-        && getuid()) {
-        fprintf(stderr, "%s: these options are too risky for mere mortals.\n", 
prog);
-        fprintf(stderr, "%s: You need -i >= %u and -p >= %u\n",
-            prog, MIN_INTERVAL, MIN_PERHOST_INTERVAL);
+    if (interval < (float)MIN_INTERVAL_MS * 1000000 && getuid()) {
+        fprintf(stderr, "%s: -i must be >= %g\n", prog, 
(float)MIN_INTERVAL_MS);
+        exit(1);
+    }
+
+    if (perhost_interval < (float)MIN_PERHOST_INTERVAL_MS * 1000000 && 
getuid()) {
+        fprintf(stderr, "%s: -p must be >= %g\n", prog, 
(float)MIN_PERHOST_INTERVAL_MS);
         exit(1);
     }
-#endif
 
     if (ping_data_size > MAX_PING_DATA) {
         fprintf(stderr, "%s: data size %u not valid, must not be larger than 
%u\n",
@@ -2806,7 +2809,13 @@
 
     /* allocate event storage */
     p->event_storage_ping = (struct event *)calloc(event_storage_count, 
sizeof(struct event));
+    if (!p->event_storage_ping) {
+        errno_crash_and_burn("can't allocate event_storage_ping");
+    }
     p->event_storage_timeout = (struct event *)calloc(event_storage_count, 
sizeof(struct event));
+    if (!p->event_storage_timeout) {
+        errno_crash_and_burn("can't allocate event_storage_timeout");
+    }
 
     /* schedule first ping */
     host_add_ping_event(p, 0, current_time_ns);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fping-5.3/src/seqmap.c new/fping-5.4/src/seqmap.c
--- old/fping-5.3/src/seqmap.c  2025-01-02 18:10:11.000000000 +0100
+++ new/fping-5.4/src/seqmap.c  2025-08-19 14:19:41.000000000 +0200
@@ -105,7 +105,7 @@
 {
     SEQMAP_VALUE* value;
 
-    if (id > SEQMAP_MAXSEQ) {
+    if (id >= SEQMAP_MAXSEQ) {
         return NULL;
     }
 

Reply via email to