On 1/18/21 4:58 PM, Michael Kerrisk (man-pages) wrote: > Hi Alex, > > On 1/18/21 4:45 PM, Alejandro Colomar (man-pages) wrote: >> [removed some CCs] >> >> On 1/18/21 4:37 PM, Michael Kerrisk (man-pages) wrote: >>> On 1/18/21 4:28 PM, Alejandro Colomar (man-pages) wrote: >>>> Hi Michael, >>>> >>>> Ping! >>>> >>>> And now I noticed a typo in the subject: >>>> s/hypen/hyphen/ >>> >>> D'oh! I missed that. >>> >>> In cases like these, where there's already two amendments to the patch, >>> perhaps better is a new complete patch, rather than a ping :-). >> >> >> Yup, I considered that for a moment... >> Should've listened to myself :/ >> >> BTW, I don't understand why you ffixed to use .RS/.RE. > > > Cause that's what we do around code blocks. See man-pages(7), > and all of the other pages :-). > > The conclusion of the mail thread on this topic was that .RS/RE don't > do correct relative indents, IIRC. Ahhh, I read the diff the other way. I thought you changed .in -> .RS. But you did .RS -> .in. So forget what I said :-) Thanks, Alex > > Thanks, > > Michael > > >> See >> https://lore.kernel.org/linux-man/eaee2c6e-cbb7-94b2-f6c4-9039d184e129@xxxxxxxxx/T/ >> >> Thanks, >> >> Alex >> >>> >>> Thanks, >>> >>> Michael >>> >>> >>>> On 1/8/21 3:28 PM, Alejandro Colomar (man-pages) wrote: >>>>> >>>>> >>>>> On 1/8/21 3:22 PM, Alejandro Colomar wrote: >>>>>> man-pages bug: 211029 >>>>>> https://bugzilla.kernel.org/show_bug.cgi?id=211029 >>>>>> >>>>>> Complete workaround >>>>> >>>>> Maybe a bit more readable: >>>>> Complete workaround example >>>>> >>>>> >>>>>> (it was too long for the page, but it may be useful here): >>>>>> >>>>>> ...... >>>>>> >>>>>> $ sudo ln -s -T /usr/bin/echo /usr/bin/-echo; >>>>>> $ cc -o system_hyphen -x c - ; >>>>>> #include <stdlib.h> >>>>>> >>>>>> int >>>>>> main(void) >>>>>> { >>>>>> system(" -echo Hello world!"); >>>>>> exit(EXIT_SUCCESS); >>>>>> } >>>>>> >>>>>> $ ./system_hyphen; >>>>>> Hello world! >>>>>> >>>>>> Reported-by: Ciprian Dorin Craciun <ciprian.craciun@xxxxxxxxx> >>>>>> Cc: Florian Weimer <fweimer@xxxxxxxxxx> >>>>>> Signed-off-by: Alejandro Colomar <alx.manpages@xxxxxxxxx> >>>>>> --- >>>>>> >>>>>> D'oh! >>>>>> >>>>>> man3/system.3 | 20 ++++++++++++++++++++ >>>>>> 1 file changed, 20 insertions(+) >>>>>> >>>>>> diff --git a/man3/system.3 b/man3/system.3 >>>>>> index 753d46f7d..ead35ab30 100644 >>>>>> --- a/man3/system.3 >>>>>> +++ b/man3/system.3 >>>>>> @@ -255,6 +255,26 @@ are not executed. >>>>>> Such risks are especially grave when using >>>>>> .BR system () >>>>>> from a privileged program. >>>>>> +.SH BUGS >>>>>> +.\" [BUG 211029](https://bugzilla.kernel.org/show_bug.cgi?id=211029) >>>>>> +.\" [Glibc bug](https://sourceware.org/bugzilla/show_bug.cgi?id=27143) >>>>>> +.\" [POSIX bug](https://www.austingroupbugs.net/view.php?id=1440) >>>>>> +If the command name starts with a hyphen, >>>>>> +.BR sh (1) >>>>>> +interprets the command name as an option, >>>>>> +and the behavior is undefined. >>>>>> +(See the >>>>>> +.B \-c >>>>>> +option to >>>>>> +.BR sh (1).) >>>>>> +To work around this problem, >>>>>> +prepend the command with a space as in the following call: >>>>>> +.PP >>>>>> +.RS 4 >>>>>> +.EX >>>>>> + system(" \-unfortunate\-command\-name"); >>>>>> +.EE >>>>>> +.RE >>>>>> .SH SEE ALSO >>>>>> .BR sh (1), >>>>>> .BR execve (2), >>>>>> >>>>> >>>> >>>> >>> >>> >> >> > > -- Alejandro Colomar Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/ http://www.alejandro-colomar.es/