From 1daed82348afe36db4df82c0c2c9109a58857db3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Mon, 18 Jan 2016 22:20:09 +0100 Subject: [PATCH 1/3] [Serializer] Ensure that groups are strings --- .../Component/Serializer/Mapping/Loader/YamlFileLoader.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php b/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php index 1c84698594e5b..f17515ddb5074 100644 --- a/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php +++ b/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php @@ -75,6 +75,10 @@ public function loadClassMetadata(ClassMetadataInterface $classMetadata) if (isset($data['groups'])) { foreach ($data['groups'] as $group) { + if (!is_string($group)) { + throw new MappingException('Group names must be strings.'); + } + $attributeMetadata->addGroup($group); } } From b8a9e7cf36f322a76550cea785a224cfd14d29a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Tue, 19 Jan 2016 09:07:25 +0100 Subject: [PATCH 2/3] [Serializer] YamlLoader: groups must be an array --- .../Component/Serializer/Mapping/Loader/YamlFileLoader.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php b/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php index f17515ddb5074..ae6bbb44d4efd 100644 --- a/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php +++ b/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php @@ -74,6 +74,10 @@ public function loadClassMetadata(ClassMetadataInterface $classMetadata) } if (isset($data['groups'])) { + if (!is_array($data['groups'])) { + throw new MappingException('The "groups" key must be an array of strings.'); + } + foreach ($data['groups'] as $group) { if (!is_string($group)) { throw new MappingException('Group names must be strings.'); From 65503f3d45e132ac07689be975a9cc520517eb0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Tue, 26 Jan 2016 07:48:11 +0100 Subject: [PATCH 3/3] Add file, class and attribute name --- .../Component/Serializer/Mapping/Loader/YamlFileLoader.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php b/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php index ae6bbb44d4efd..84f983ed123d4 100644 --- a/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php +++ b/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php @@ -75,12 +75,12 @@ public function loadClassMetadata(ClassMetadataInterface $classMetadata) if (isset($data['groups'])) { if (!is_array($data['groups'])) { - throw new MappingException('The "groups" key must be an array of strings.'); + throw new MappingException('The "groups" key must be an array of strings in "%s" for the attribute "%s" of the class "%s".', $this->file, $attribute, $classMetadata->getName()); } foreach ($data['groups'] as $group) { if (!is_string($group)) { - throw new MappingException('Group names must be strings.'); + throw new MappingException('Group names must be strings in "%s" for the attribute "%s" of the class "%s".', $this->file, $attribute, $classMetadata->getName()); } $attributeMetadata->addGroup($group);