Skip to content

Commit dd4899b

Browse files
authored
Merge pull request #202 from cloudinary/fix/infinite-loop-broken-signature
Ensure the signature is always an array.
2 parents 15a665b + 7063e45 commit dd4899b

File tree

1 file changed

+5
-1
lines changed
  • cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php

1 file changed

+5
-1
lines changed

cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-sync.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ public function get_signature( $attachment_id, $cached = true ) {
262262
if ( ! empty( $signatures[ $attachment_id ] ) && true === $cached ) {
263263
$return = $signatures[ $attachment_id ];
264264
} else {
265-
$signature = $this->managers['media']->get_post_meta( $attachment_id, self::META_KEYS['signature'], true );
265+
$signature = (array) $this->managers['media']->get_post_meta( $attachment_id, self::META_KEYS['signature'], true );
266266
if ( empty( $signature ) ) {
267267
$signature = array();
268268
}
@@ -758,6 +758,10 @@ public function set_signature_item( $attachment_id, $type, $value = null ) {
758758
// Generate a new value based on generator.
759759
$value = $this->generate_type_signature( $type, $attachment_id );
760760
}
761+
// Ensure we have an array.
762+
if ( empty( $meta[ Sync::META_KEYS['cloudinary'] ][ Sync::META_KEYS['signature'] ] ) || ! is_array( $meta[ Sync::META_KEYS['cloudinary'] ][ Sync::META_KEYS['signature'] ] ) ) {
763+
$meta[ Sync::META_KEYS['cloudinary'] ][ Sync::META_KEYS['signature'] ] = array();
764+
}
761765
$meta[ Sync::META_KEYS['cloudinary'] ][ Sync::META_KEYS['signature'] ][ $type ] = $value;
762766
wp_update_attachment_metadata( $attachment_id, $meta );
763767
}

0 commit comments

Comments
 (0)