Age | Commit message (Collapse) | Author |
|
|
|
|
|
Other combinations with IP options are still blocked.
|
|
No need to use an external tool when the shell can handle this basic task.
|
|
Test decoding of sequences with length and indefinite length into an ASN.1
string - in this case the ASN.1 is not decoded, rather the octets are
stored directly as the content of the string.
This exercises a specific path through the ASN.1 decoder.
(you know asn1complex is living up to its name when you have to import
openssl/asn1t.h directly...)
|
|
and the roff_onearg() parsing function is too generic,
so provide a dedicated parsing function instead.
This fixes an assertion failure when an \o escape sequence is
passed as the argument; the bug was found by tb@ using afl(1).
It also makes mandoc output more similar to groff in various cases.
|
|
ok bluhm@
|
|
|
|
interface and check which of the packets are dropped by pf. The
bad packets appear in pflog0 tcpdump. This regress is testing rules
with and without allow-opts.
|
|
break multiple element next-line scopes at the same time, similar to
what man_descope() already does for unconditional rewinding.
This fixes an assertion failure that tb@ found with afl(1), caused
by .SH .I .I .BI and similar sequences of macros without arguments.
|
|
|
|
to make the test more stable.
debugged by Anton Borowka
|
|
interface and check which of the packets are dropped by pf. The
bad packets appear in pflog0 tcpdump. This regress is testing rules
with and without allow-opts.
|
|
based on the syzkaller reproducer.
|
|
|
|
|
|
and never produce output at the place of their invocation.
Minibugs found while investigating unrelated afl(1) reports from tb@.
|
|
exactly going on, if one day we trust wantlib enough to be accurate
(hello libsets)
|
|
1. The combination \z\h is a no-op whatever the argument may be.
In the past, the \z only affected the first space character generated
by the \h, which was wrong.
2. For the conbination \zX\h with a positive argument, the first
space resulting from the \h is not printed but consumed by the \z.
3. For the combination \zX\h with a negative argument, application
of the \z needs to be completed before the \h can be started.
In the past, if this combination occurred at the beginning of an
output line, the \h backed up to the beginning of the line and
after that, the \z attempted to back up even further, triggering
an assertion.
Bugs found during an audit of assignments to termp->col that i
started after the bugfix tbl_term.c rev. 1.65. The assertion
triggered by bug 3 was *not* yet found by afl(1).
|
|
|
|
This is needed because the TERMP_MULTICOL mode is designed such
that term_tbl() buffers all the cells of the table row before the
normal reset logic near the end of term_flushln() can be reached.
This fixes an assertion failure triggered by \z near the end
of a table cell, found by tb@ using afl(1).
|
|
Apart from making sense in the first place, this fixes an assertion
failure that happened when the calculated implicit tag did not match
the string value of the first child of the node,
Bug found by tb@ using afl(1).
|
|
index but use 0 instead of the argument, just like groff.
Warn about the invalid argument.
While here, fix the column number in another warning message.
Segfault reported by tb@, found with afl(1).
|
|
|
|
|
|
Unsigned overflows are not a bug in C but we have to make sure that
requested buffer sizes will be actually available.
If not, set errno to ERANGE and return an error value.
ok deraadt, millert
|
|
(without impliciit conversion from int to long double).
The previous commit message talked about reading numbers, but the issue
(loss of precision due to too little digits) actually occurred when printing
the input to be read by bc.
|
|
bc results otherwise truncation and loss of precision occurs, making the
test fail.
Test failure on arm64 noted by anton@ and bluhmn@
|
|
ship with gdb.
|
|
dump_tables and vmm to the build. Adopt all makefiles to skip tests
on non amd64 machines.
OK dv@
|
|
|
|
a warning and no fuss.
|
|
exit so retrieve the pid via controlmaster and use that.
|
|
|
|
|
|
to shut them down intead of sleep loops. This speeds up the test by
an order of magnitude.
|
|
|
|
|
|
a few checks
|
|
|
|
created since the contents changed
|
|
|
|
we don't need to run shell commands on the other end of the connection
and can use ssh -N instead. This also makes the test less racy.
|
|
build for regress and need that function now.
|
|
we must not reset the recursion counter when moving beyond the end
of the *previous* expansion, but we may only do so when moving
beyond the rightmost position reached by *any* expansion in the
current equation. This matters because definitions can nest;
consider:
.EQ
define inner "content"
define outer "inner outer"
outer
.EN
This endless loop was found by tb@ using afl(1).
Incidentally, GNU eqn(1) also performs an infinite loop in this
situation and then crashes when memory runs out, but that's not an
excuse for nasty behaviour of mandoc(1).
While here, consistently print the expanded content even when the
expansion is finally truncated. While that is not likely to help
end-users, it may help authors of eqn(7) code to understand what's
going on. Besides, it sends a very clear signal that something is
amiss, which was easy to miss in the past unless people
enabled -W error or used -T lint.
|
|
whatsoever and ends with a broken next-line scope. Obviously, this
cannot happen in a real manual page, but mandoc(1) should not die
even when fed absurd input.
This bug was independently reported by both jsg@ and tb@ who both
found it with afl(1).
|
|
beginning of an escape sequence: \, \E, \EE, \EEE, and so on all do
the same outside copy mode, so let them do the same in mandoc(1), too.
This fixes an assertion failure triggered by \EE*X that tb@ found
with afl(1). The first E was consumed by roff_expand(), but that
function failed to recognize the escape sequence as the expansion
of a user-defined string and handed it over to mandoc_escape(),
which consumed the second E and then died on an assertion because
it is not prepared to handle user-defined strings. Fix this by
letting *both* functions handly arbitrary numbers of 'E's correctly.
|
|
|
|
|
|
bind(2) succeeded.
|