Debian Patches

Status for popt/1.19+dfsg-3

Patch Description Author Forwarded Bugs Origin Last update
fix-reporting-of-test-failures.patch tests: Fix reporting of test failures
After commit a4afb898f7758160acda71d774c7d98d528da273 the testsuite
no longer reported test failures. This is because we rely on the exit
status code of the script, and currently, this is always 0.

If any test fails, we will exit with status code 2. The entire testsuite
will continue to run, even after a test has failed.
Håvard F. Aasen <havard.f.aasen@pfft.no> yes 2022-09-27
document-flags-used-in-poptGetContext.patch man-page: Add information for flags used in poptGetContext() Håvard F. Aasen <havard.f.aasen@pfft.no> yes debian 2023-08-02
instruct-man-to-run-the-tbl-preprocessor.patch Instruct man(1) to run the 'tbl' preprocessor
This is needed to get set the macro 'TW' with the table width. This was
a new warning in groff 1.23.0

Can be tested with the command:
LC_ALL=C.UTF-8 MANROFFSEQ='' MANWIDTH=80 \
man --warnings -E UTF-8 -l -Tutf8 -Z popt.3 >/dev/null
Håvard F. Aasen <havard.f.aasen@pfft.no> yes 2024-08-18
Fix-CVE-2026-18743-buffer-overflow-s-in-poptConfigFileToS.patch Fix CVE-2026-18743: buffer overflow(s) in poptConfigFileToString()
Fix the reallocation logic thinko, repeated twice in the function:
if we need to reallocate, the current maximum value is not interesting
in any way. Just allocate double the required size instead.

The reproducer test is obviously closely tied to the initial buffer
size of 480 and wouldn't work with other sizes, but with the current
default this reliably crashes popt under ASAN prior to this fix.
Also , the reproducer only exercises the first of these flaws.

(cherry picked from commit ea2092edba8d6c1a9acd60d9fd7a587c624d6ffe)
Panu Matilainen <pmatilai@redhat.com> no 2026-08-11
Fix-CVE-2026-18739-off-by-one-error-in-poptStuffArgs.patch Fix CVE-2026-18739: off-by-one error in poptStuffArgs()
The poptStuffArgs function only checks whether (con->os - con->optionStack)
is equal to POPT_OPTION_DEPTH (10) before incrementing con->os, and does
not increment the value by 1 to perform boundary pre-checking, as
handleAlias does.

Add a new test program as a reproducer for this case.



Backported from commit 14c42b415ba0c11640f7d4ee80920452d0287058
Yao Zhang <294772273@qq.com> no 2026-08-05
Bring-in-our-own-allocating-printf-variants.patch Bring in our own allocating printf() variants
These are brought mostly as-is from rpm under a new POPT_ name, just
with a slight change return an error on memory alloc failure whereas
rpm exits on error.
As the author of rvasprintf() and rasprintf() there, I'm at liberty to
(re)license them under MIT as well.

No functional changes here, just needed for sanity going forward.

Backported from commit 4f5a070cd98aade2767677de22661f4854d4a195, 1.19.x
does not build as C99 so we can't mix code and variable declarations as
in master.
Panu Matilainen <pmatilai@redhat.com> no 2026-08-20
Fix-a-bucketful-of-buffer-overflows-in-popt-help-printing.patch Fix a bucketful of buffer overflows in popt --help printing
singleOptionDefaultValue() based the default value string output buffer
size on the available line length, without any sort of bounds checking
for most data. This was trivial to overflow with longer option names.

There was also this baffling ellipsizing of long string arguments, done
done based on the rather arbitrary buffer size instead of screen limits.
Ellipsizing of long values might be totally reasonable but that belongs
to the display code that does all manner of formatting too.

Just use our newly introduced allocating sprintf() to get it right for
good. Drop the line length argument entirely, it was only used for
a bad estimation of the needed buffer size.

At the other end, make sure the indent length stays below available
columns to avoid the underflow from help printing.

Annoyingly we need multiple different test programs for this because
the various crashes are quite sensitive to the max length of a single
option in the table. There are more broken cases than these, but we
can't test everything and these cover the CVE-2026-18839 case.
Update the ellipsis test a bit because it no longer makes sense.



Backported from commit af6f19e5968d48608a062d6d92d28b7fd248f8ea.
Panu Matilainen <pmatilai@redhat.com> no 2026-08-20

All known versions for source package 'popt'

Links