[Bf-blender-cvs] [1ea51570514] master: Fix: Cryptomatte Metadata Trimmed to 1024.

Jeroen Bakker noreply at git.blender.org
Mon Mar 29 12:17:39 CEST 2021


Commit: 1ea51570514e5731ca8327f9dafbe6b7515a8142
Author: Jeroen Bakker
Date:   Mon Mar 29 12:14:59 2021 +0200
Branches: master
https://developer.blender.org/rB1ea51570514e5731ca8327f9dafbe6b7515a8142

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

===================================================================

M	source/blender/imbuf/intern/metadata.c

===================================================================

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)



More information about the Bf-blender-cvs mailing list