summaryrefslogtreecommitdiffstats
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/events/Delta.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp
index 66ebf803..0ef63d64 100644
--- a/src/server/events/Delta.cpp
+++ b/src/server/events/Delta.cpp
@@ -198,11 +198,16 @@ Delta::pre_process()
const auto p = _properties.find(uris.lv2_prototype);
if (p == _properties.end()) {
return Event::pre_process_done(Status::BAD_REQUEST, _subject);
+ } else if (!_engine.world()->forge().is_uri(p->second)) {
+ return Event::pre_process_done(Status::BAD_REQUEST, _subject);
}
const Raul::URI prot(_engine.world()->forge().str(p->second, false));
+ if (!Node::uri_is_path(prot)) {
+ return Event::pre_process_done(Status::BAD_URI, _subject);
+ }
- Node* node = _engine.store()->get(Node::uri_to_path(Raul::URI(prot)));
+ Node* node = _engine.store()->get(Node::uri_to_path(prot));
if (!node) {
return Event::pre_process_done(Status::NOT_FOUND, prot);
}