From 15751d99da1ebc010a7b26bdcdaddcd6cffcdff4 Mon Sep 17 00:00:00 2001 From: Faisal Ahammad Date: Sun, 26 Jul 2026 09:37:53 +0600 Subject: [PATCH] fix(pick): guard related_field before cache-write block In validate(), the cache block at line 1871 only checks `! empty( $related_data )` but does not verify $related_field is an array. When the sister field lookup fails, $related_field stays false and the block then dereferences $related_field['id'] / $related_field['name'], producing PHP 8.0+ "Accessing array offset on value of type bool" warnings reported in #7244 (Pod save through Gravity Forms). Add `! empty( $related_field )` to the guard so the block only runs when related_field is a real field array. The save() method already guards separately on line 2001, so this is a single-file change. Fixes #7244 --- classes/fields/pick.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/fields/pick.php b/classes/fields/pick.php index f3185a4063..eee1e525a3 100644 --- a/classes/fields/pick.php +++ b/classes/fields/pick.php @@ -1868,7 +1868,7 @@ public function validate( $value, $name = null, $options = null, $fields = null, }//end if }//end if - if ( ! empty( $related_data ) ) { + if ( ! empty( $related_data ) && ! empty( $related_field ) ) { $related_data['related_pod'] = $related_pod; $related_data['related_field'] = $related_field; $related_data['related_pick_limit'] = $related_pick_limit;