git: e3e57edf4aac - main - network.subr: Fix infinite loop

From: Cy Schubert <cy_at_FreeBSD.org>
Date: Mon, 02 Jan 2023 18:20:50 UTC
The branch main has been updated by cy:

URL: https://cgit.FreeBSD.org/src/commit/?id=e3e57edf4aac05d041ca55ff2f008c6109ef88d5

commit e3e57edf4aac05d041ca55ff2f008c6109ef88d5
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2022-12-14 21:41:10 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2023-01-02 18:20:05 +0000

    network.subr: Fix infinite loop
    
    When setting up carp tunnel, using a password consisting of only the
    characters used as hexadecimal characters, i.e. abc-def, there will be
    an infinite loop in the shell function ifalias_af_common_handler().
    To circumvent this we test for " pass ".
    
    PR:             268378
    Reported by:    jyoung15@gmail.com
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D37748
---
 libexec/rc/network.subr | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libexec/rc/network.subr b/libexec/rc/network.subr
index 76a5b94bc408..29ac06daefb2 100644
--- a/libexec/rc/network.subr
+++ b/libexec/rc/network.subr
@@ -1049,6 +1049,9 @@ ifalias_af_common_handler()
 	# Process the last component if any.
 	if [ -n "${_tmpargs}" ]; then
 		case $_tmpargs in
+		${_af}[[:space:]]pass[[:space:]]*)
+			${IFCONFIG_CMD} $_if $_tmpargs $_action && _ret=0
+		;;
 		${_af}[[:space:]]*[0-9a-fA-F]-*)
 			ifalias_af_common_handler $_if $_af $_action \
 			`ifalias_expand_addr $_af $_action ${_tmpargs#${_af}[[:space:]]}`