[Bug 248536] periodic(8) /absolute/path/where/basename/contains-hyphens interpreted as options to mail(1)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Aug 8 12:28:15 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248536

            Bug ID: 248536
           Summary: periodic(8)
                    /absolute/path/where/basename/contains-hyphens
                    interpreted as options to mail(1)
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs at FreeBSD.org
          Reporter: danielsh at apache.org

I ran «periodic /usr/local/etc/periodic/one-off» from /etc/crontab and got the
following output:

[[[
Subject: Cron <root at zsh> periodic /usr/local/etc/periodic/one-off

mail: illegal option -- o
Usage: mail [-dEiInv] [-s subject] [-c cc-addr] [-b bcc-addr] [-F] to-addr ...
            [-sendmail-option ...]
       mail [-dEHiInNv] [-F] -f [name]
       mail [-dEHiInNv] [-F] [-u user]
       mail [-d] -e [-f name]
]]]

What happens: The function output_pipe() is called with a first argument of
«/usr/local/etc/periodic/one-off», which then runs «eval» on the string
«output=$one-off_output», which sets the variable $output to the value
«-off_output» (because $one expands to nothing), and that variable is then used
to build the mail command in $pipe, which works out to «mail -E -s '…'
-off_output», which produces the above output.

Reproduced in 11.2R, but by source inspection applies to CURRENT too.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list