summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2011-09-07 14:41:42 +0200
committerJens Georg <mail@jensge.org>2011-09-07 14:41:42 +0200
commit3f65517d61f5119d98909558e7dbfaf8e0e9b1ee (patch)
tree94be50f30eedcf35b9ae52dd35fed5714f9378e9
parent8acdd5dd06127b273b31f5843f29658af36c5b2a (diff)
downloadrygel-3f65517d61f5119d98909558e7dbfaf8e0e9b1ee.tar.gz
core: Check upnp:class on CreateItem
-rw-r--r--src/rygel/rygel-item-creator.vala7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/rygel/rygel-item-creator.vala b/src/rygel/rygel-item-creator.vala
index f2882a27..5ed384bf 100644
--- a/src/rygel/rygel-item-creator.vala
+++ b/src/rygel/rygel-item-creator.vala
@@ -97,6 +97,13 @@ internal class Rygel.ItemCreator: GLib.Object, Rygel.StateMachine {
"were found in 'dlnaManaged'");
}
+ if (didl_item.upnp_class == null ||
+ didl_item.upnp_class == "" ||
+ !didl_item.upnp_class.has_prefix ("object.item")) {
+ throw new ContentDirectoryError.BAD_METADATA
+ ("Invalid upnp:class given ");
+ }
+
if (didl_item.restricted) {
throw new ContentDirectoryError.INVALID_ARGS
("Cannot create restricted item");