freebsd-nq/sbin/dump
Kirk McKusick efe145a745 Correct assert added to dump program.
The dump program was exiting with the message:

Assertion failed: (spcl.c_count + blks < TP_NINDIR), function appendextdata, file /usr/src/sbin/dump/traverse.c, line 759.

The problem arose when dumping external attributes.

This assertion was added in this commit with no review by someone
with expertise in the dump program:

    commit 2d518c6518
    Author:     Warner Losh <imp@FreeBSD.org>
    AuthorDate: Mon Jun 11 19:32:36 2018 +0000
    Commit:     Warner Losh <imp@FreeBSD.org>
    CommitDate: Mon Jun 11 19:32:36 2018 +0000

	Add asserts to prevent overflows of c_addr.

It is clearly wrong as the statement immediately above it in the
code which is deciding if the data will fit is:

	if (spcl.c_count + blks > TP_NINDIR)
		return (0);

As is pointed out in the bug report, the assert should be:

	(spcl.c_count + blks <= TP_NINDIR)

This commit corrects the assert. I am sorry that it took so long to
be brought to my attention and get fixed.

Reported by:  Hampton Finger
PR:           244470
MFC after:    3 days
Sponsored by: Netflix
2021-05-17 16:34:53 -07:00
..
cache.c
dump.8 dump(8): clarify the recommended use of cache and snapshots 2020-12-28 21:56:58 +00:00
dump.h Clean up global variable declarations in the dump and restore 2020-04-04 00:56:56 +00:00
dumprmt.c Clean up global variable declarations in the dump and restore 2020-04-04 00:56:56 +00:00
itime.c Clean up global variable declarations in the dump and restore 2020-04-04 00:56:56 +00:00
main.c Remove #define _KERNEL hacks from libprocstat 2021-02-21 11:38:21 +02:00
Makefile
Makefile.depend
optr.c
pathnames.h Clean up global variable declarations in the dump and restore 2020-04-04 00:56:56 +00:00
tape.c Clean up some function and variable names. 2020-06-23 21:11:40 +00:00
traverse.c Correct assert added to dump program. 2021-05-17 16:34:53 -07:00
unctime.c