[poppler] Poppler provided printf() functions on Windows not language compliant

Adam Reichold adam.reichold at t-online.de
Sat Mar 5 07:39:46 UTC 2016


Hello,

Am 05.03.2016 um 02:51 schrieb mathog:
> mingwenv
> mingw32-g++ -O0 -ggdb  -static-libgcc -static-libstdc++ -o printf_bug
> printf_bug.c -Lc:\progs\devlibs61/lib -lpoppler
> "C:\Program Files\Dr. Memory\bin\drmemory.exe" -logdir C:/temp/logs --
> printf_bug

> Error #1: UNINITIALIZED READ: reading 0x00220378-0x0022037a 2 byte(s)
> within 0x00220370-0x0022037a
> # 0 libpoppler-58.dll!__pformat_cvt [../../mingw/include/math.h:361]
> # 1 libpoppler-58.dll!__pformat_float
> [../../mingw/mingwex/stdio/pformat.c:800]
> # 2 libpoppler-58.dll!__mingw_pformat
> [../../mingw/mingwex/stdio/pformat.c:2047]
> # 3 libpoppler-58.dll!__mingw_vprintf
> [../../mingw/mingwex/stdio/vprintf.c:61]
> # 4 libpoppler-58.dll!printf     
> [../../../../src/gcc-4.6.1/libgcc/../gcc/config/i386/cygwin.asm:125]
> # 5 main                          [C:\progs\inkscape_trunk/printf_bug.c:8]

This looks like you are linking libgcc statically, but load libpoppler
dynamically? If so, couldn't it be that global data structures from the
static library and the dependencies on libgcc in libpoppler collide for
example if the versions do not match? Have you tried to replace with
libpoppler with any other dynamic link library from the devlibs
collection that references printf? Have you tried not to link statically
with libgcc?

Best regards, Adam.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/poppler/attachments/20160305/0174269f/attachment.sig>


More information about the poppler mailing list