From 42d17c1aa0afc2690e5fa456ba3995f470852458 Mon Sep 17 00:00:00 2001 From: Dario Casalinuovo Date: Wed, 18 Mar 2015 14:02:06 +0100 Subject: [PATCH] Add more checking for BFileInterface related methods * Validity of node and correct kind are now checked. --- src/kits/media/MediaRoster.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/kits/media/MediaRoster.cpp b/src/kits/media/MediaRoster.cpp index 2394ed7297..ae368218f2 100644 --- a/src/kits/media/MediaRoster.cpp +++ b/src/kits/media/MediaRoster.cpp @@ -2830,6 +2830,10 @@ BMediaRoster::SetRefFor(const media_node& file_interface, const entry_ref& file, { CALLED(); + if (IS_INVALID_NODE(file_interface) + || (file_interface.kind & B_FILE_INTERFACE) == 0) + return B_MEDIA_BAD_NODE; + fileinterface_set_ref_request request; fileinterface_set_ref_reply reply; status_t rv; @@ -2859,6 +2863,10 @@ BMediaRoster::GetRefFor(const media_node& node, entry_ref* _file, { CALLED(); + if (IS_INVALID_NODE(node) + || (node.kind & B_FILE_INTERFACE) == 0) + return B_MEDIA_BAD_NODE; + if (!_file) return B_BAD_VALUE; @@ -2885,6 +2893,11 @@ BMediaRoster::SniffRefFor(const media_node& file_interface, const entry_ref& file, BMimeType* mimeType, float* _capability) { CALLED(); + + if (IS_INVALID_NODE(file_interface) + || (file_interface.kind & B_FILE_INTERFACE) == 0) + return B_MEDIA_BAD_NODE; + if (mimeType == NULL || _capability == NULL) return B_BAD_VALUE;