[rygel/rygel-0-12] core: Prevent crash on back-end misbehaviour



commit 7574cc0eaad8a233bc835fc057e15afbdfe9fdf4
Author: Jens Georg <mail jensge org>
Date:   Mon Jan 9 19:11:12 2012 +0100

    core: Prevent crash on back-end misbehaviour
    
    If the backend declares the OCMFlag.UPLOAD in a non-writable container,
    bail out instead of crashing.

 src/rygel/rygel-item-creator.vala |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/src/rygel/rygel-item-creator.vala b/src/rygel/rygel-item-creator.vala
index f89b46e..85d9011 100644
--- a/src/rygel/rygel-item-creator.vala
+++ b/src/rygel/rygel-item-creator.vala
@@ -286,7 +286,8 @@ internal class Rygel.ItemCreator: GLib.Object, Rygel.StateMachine {
         if (media_object == null || !(media_object is MediaContainer)) {
             throw new ContentDirectoryError.NO_SUCH_OBJECT
                                         (_("No such object"));
-        } else if (!(OCMFlags.UPLOAD in media_object.ocm_flags)) {
+        } else if (!(OCMFlags.UPLOAD in media_object.ocm_flags) ||
+                   !(media_object is WritableContainer)) {
             throw new ContentDirectoryError.RESTRICTED_PARENT
                                         (_("Object creation in %s not allowed"),
                                         media_object.id);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]