control: tag -1 + patch

Hi,

On 2026-02-23 13:43, Emanuele Rocca wrote:
> Source: dhcpd-pools
> Version: 3.2-1
> Severity: important
> Tags: ftbfs upstream
> Justification: fails to build from source
> User: [email protected]
> Usertags: glibc-2.43
> 
> Hi,
> 
> dhcpd-pools fails to build from source on arm64 when using glibc 2.43,
> currently in experimental.
> 
> The issue is triggered by glibc 2.43 on arm64 enabling 2MB THP by
> default:
> https://sourceware.org/git/?p=glibc.git;a=commit;h=321e1fc73f53081d92ba357cdd48c56b79292020
> 
> The problem is however not architecture-specific. For example it can be
> reproduced with glibc 2.42 on amd64 by building the package with the
> GLIBC_TUNABLES environment variable set to glibc.malloc.hugetlb=2.
> 
> Successful build with glibc 2.42, currently in sid:
> https://people.debian.org/~ema/glibc-2.43-rebuilds/output-2/dhcpd-pools_arm64.build
> 
> Logs of a failed build with glibc 2.43 are here:
> https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/dhcpd-pools_arm64.build
> 
> Salient part:
> 
> FAIL: tests/errors
> ==================
> 
> --- ./tests/expected/errors     2020-11-27 21:10:58.028560952 +0000
> +++ tests/outputs/errors        2026-02-20 08:35:52.532293041 +0000
> @@ -3,7 +3,7 @@
>  === unknown specifier
>  dhcpd-pools: unknown --skip specifier: okish
>  === color mode
> -dhcpd-pools: unknown color mode: 'sometimes'
> +dhcpd-pools: unknown color mode: 'sometimes': Cannot allocate memory
>  === IPv5
>  dhcpd-pools: unknown --ip-version argument: 5
>  === missing conf

The following patch fixes the issue:

--- dhcpd-pools-3.2.orig/src/dhcpd-pools.c
+++ dhcpd-pools-3.2/src/dhcpd-pools.c
@@ -239,7 +239,7 @@ static void parse_command_line_opts(stru
                case OPT_COLOR:
                        state->color_mode = parse_color_mode(optarg);
                        if (state->color_mode == color_unknown)
-                               error(EXIT_FAILURE, errno, "unknown color mode: 
%s", quote(optarg));
+                               error(EXIT_FAILURE, 0, "unknown color mode: 
%s", quote(optarg));
                        break;
                case OPT_SKIP:
                        skip_arg_parse(state, optarg);

In short parse_color_mode() does not set or change errno, so it doesn't 
make sense to print it, as it can just contain random values.

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                     http://aurel32.net

Reply via email to