freebsd-ports/graphics/exiv2/files/patch-xmpsdk_src_XMPUtils.cpp
Matthias Andree ce4a214fb7 graphics/exiv2: upgrade to 0.28
Add DOCS and DOXYGEN options to allow building/installing
extra documentation.

Cherry-pick a few fixes from the upstream Git repo,
and add one FreeBSD-specific fix to libprocinfo interface
that caused crashes in the test rig, and add
sscanf/printf vs type fixes.

Fix a few things in exiv2 and Adobe XMP SDK found while
test-compiling exiv2 consumers.

All local fixes to .cpp filed with upstream repo as pull req.

While here, reformat/rearrange to please portlint and
portfmt/portclippy.

Assisted and
Reviewed by:		diizzy@
PR:                     272311
Differential Revision:  https://reviews.freebsd.org/D40828
2023-07-10 00:08:05 +02:00

17 lines
556 B
C++

XMP code is not dealing with format types properly.
Provide a variable that matches the format string to
avoid crashes when sizeof(long long) != sizeof(XMP_Int64).
filed as https://github.com/Exiv2/exiv2/pull/2671
--- xmpsdk/src/XMPUtils.cpp.orig 2023-05-08 16:01:13 UTC
+++ xmpsdk/src/XMPUtils.cpp
@@ -1215,7 +1215,7 @@ XMPUtils::ConvertToInt64 ( XMP_StringPtr strValue )
int count;
char nextCh;
- XMP_Int64 result;
+ long long result;
if ( ! XMP_LitNMatch ( strValue, "0x", 2 ) ) {
count = sscanf ( strValue, "%lld%c", &result, &nextCh );