UHDR. Change locale problem. Received bad value for min boost 0,000000, expects > 0.0f

Author: degtyaryovCreated Sep 14, 2026Updated Sep 15, 2026

ImageMagick version

7.1.2-31

Operating system

Linux

Operating system, version and so on

Fedora 44

Description

setlocale(LC_NUMERIC, "de_DE.UTF-8");

received bad value for min boost 0,000000, expects > 0.0f `output.jpg' @ error/uhdr.c/WriteUHDRImage/1615

Steps to Reproduce

c
#include <stdio.h>
#include <locale.h>
#include <wand/MagickWand.h>

int main(int argc, char **argv)
{
    setlocale(LC_NUMERIC, "de_DE.UTF-8");

    printf("Current LC_NUMERIC locale: %s\n", setlocale(LC_NUMERIC, NULL));


    MagickWand *wand = NULL;

    MagickWandGenesis();

    wand = NewMagickWand();

    if (MagickReadImage(wand, "input.jpg") == MagickFalse) {
        fprintf(stderr, "Error reading image.\n");
        goto cleanup;
    }

    if (MagickResizeImage(wand, 300, 200, LanczosFilter) == MagickFalse) {
        fprintf(stderr, "Error resizing image.\n");
        goto cleanup;
    }

    if (MagickWriteImage(wand, "uhdr:output.jpg") == MagickFalse) {
        char *description;
        ExceptionType severity;
        description = MagickGetException(wand, &severity);
        printf("Error caught: %s\n", description);
        description = (char *) MagickRelinquishMemory(description);

        goto cleanup;
    }

    printf("Done: output.jpg successfully created.\n");

cleanup:
    if (wand) {
        DestroyMagickWand(wand);
    }
    MagickWandTerminus();
    return 0;
}
bash
gcc -o test test.c $(pkg-config --cflags --libs MagickWand)

Images

Image