Index: /kk-star-ratings/trunk/changelog.txt
===================================================================
--- /kk-star-ratings/trunk/changelog.txt	(revision 3474554)
+++ /kk-star-ratings/trunk/changelog.txt	(revision 3474555)
@@ -1,3 +1,7 @@
-﻿== Changelog ==
+== Changelog ==
+
+= 5.4.10.4 =
+* Improved rating payload validation.
+* Fixed PHP error
 
 = 5.4.10.3 =
Index: /kk-star-ratings/trunk/index.php
===================================================================
--- /kk-star-ratings/trunk/index.php	(revision 3474554)
+++ /kk-star-ratings/trunk/index.php	(revision 3474555)
@@ -11,5 +11,5 @@
  * Text Domain:     kk-star-ratings
  * Domain Path:     /languages
- * Version:         5.4.10.3
+ * Version:         5.4.10.4
  * License:         GPLv2 or later
  */
Index: /kk-star-ratings/trunk/readme.txt
===================================================================
--- /kk-star-ratings/trunk/readme.txt	(revision 3474554)
+++ /kk-star-ratings/trunk/readme.txt	(revision 3474555)
@@ -7,5 +7,5 @@
 Requires PHP: 7.4
 Tested up to: 6.9
-Stable tag: 5.4.10.3
+Stable tag: 5.4.10.4
 License: GPLv2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -96,4 +96,8 @@
 == Changelog ==
 
+= 5.4.10.4 =
+* Improved rating payload validation.
+* Fixed PHP error
+
 = 5.4.10.3 =
 * Upgraded freemiums SDK
Index: /kk-star-ratings/trunk/src/core/wp/actions/add_meta_boxes.php
===================================================================
--- /kk-star-ratings/trunk/src/core/wp/actions/add_meta_boxes.php	(revision 3474554)
+++ /kk-star-ratings/trunk/src/core/wp/actions/add_meta_boxes.php	(revision 3474555)
@@ -25,5 +25,5 @@
     $icon = $legend = '';
 
-    if ($post) {
+    if ($post instanceof \WP_Post) {
         $best = option('stars');
         [$count, $score] = calculate((int) $post->ID, 'default', $best);
Index: /kk-star-ratings/trunk/src/core/wp/actions/wp_ajax_kk-star-ratings.php
===================================================================
--- /kk-star-ratings/trunk/src/core/wp/actions/wp_ajax_kk-star-ratings.php	(revision 3474554)
+++ /kk-star-ratings/trunk/src/core/wp/actions/wp_ajax_kk-star-ratings.php	(revision 3474555)
@@ -83,5 +83,5 @@
 
         $payload = array_map(function ($item) {
-            return strip_shortcodes($item);
+            return str_replace(['[', ']'], '', strip_shortcodes($item));
         }, $payload);
 
Index: /kk-star-ratings/trunk/src/functions/to_shortcode.php
===================================================================
--- /kk-star-ratings/trunk/src/functions/to_shortcode.php	(revision 3474554)
+++ /kk-star-ratings/trunk/src/functions/to_shortcode.php	(revision 3474555)
@@ -23,5 +23,5 @@
 
     $attrs = array_map(function ($key, $value) {
-        return "{$key}=\"{$value}\"";
+        return "{$key}=\"" . esc_attr($value) . "\"";
     }, array_keys($payload), array_values($payload));
 
