From 1ea51570514e5731ca8327f9dafbe6b7515a8142 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Mon, 29 Mar 2021 12:14:59 +0200 Subject: Fix: Cryptomatte Metadata Trimmed to 1024. When reading metadata from image files the metadata is trimmed to 1024. For cryptomatte the metadata can contain json data and should not be trimmed. Resulting additional checks in the manifest parser for incomplete json data. You could argue to add an exception for cryptomatte, but that would still allows misuse. When the direction of this patch is accepted we should consider removing `maxlen` from `IDP_AssignString` as it doesn't seem to be used anywhere else. Reviewed By: #images_movies, mont29, sergey Differential Revision: https://developer.blender.org/D10825 --- source/blender/imbuf/intern/metadata.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'source/blender/imbuf/intern') diff --git a/source/blender/imbuf/intern/metadata.c b/source/blender/imbuf/intern/metadata.c index d8abd3411cb..c016379fe64 100644 --- a/source/blender/imbuf/intern/metadata.c +++ b/source/blender/imbuf/intern/metadata.c @@ -38,7 +38,6 @@ #include "IMB_metadata.h" -#define METADATA_MAX_VALUE_LENGTH 1024 void IMB_metadata_ensure(struct IDProperty **metadata) { @@ -99,11 +98,11 @@ void IMB_metadata_set_field(struct IDProperty *metadata, const char *key, const } if (prop == NULL) { - prop = IDP_NewString(value, key, METADATA_MAX_VALUE_LENGTH); + prop = IDP_NewString(value, key, 0); IDP_AddToGroup(metadata, prop); } - IDP_AssignString(prop, value, METADATA_MAX_VALUE_LENGTH); + IDP_AssignString(prop, value, 0); } void IMB_metadata_foreach(struct ImBuf *ibuf, IMBMetadataForeachCb callback, void *userdata) -- cgit v1.2.3