From 78f1fd29f7754992d0cfa79bc077166bc3a21b44 Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Wed, 28 Jun 2017 16:41:52 +0200 Subject: [PATCH] Translate buffer-exceeded exception in Session_requester Session_requester inherits from Dynamic_rom_session::Content_producer which specifies the Buffer_capacity_exceeded exception which is thrown on insufficient buffer space. --- repos/os/include/os/session_requester.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/repos/os/include/os/session_requester.h b/repos/os/include/os/session_requester.h index 5b44bcd319..cf137ac6c0 100644 --- a/repos/os/include/os/session_requester.h +++ b/repos/os/include/os/session_requester.h @@ -35,9 +35,13 @@ class Genode::Session_requester void produce_content(char *dst, Genode::size_t dst_len) override { - Xml_generator xml(dst, dst_len, "session_requests", [&] () { - _id_space.for_each([&] (Session_state const &s) { - s.generate_session_request(xml); }); }); + try { + Xml_generator xml(dst, dst_len, "session_requests", [&] () { + _id_space.for_each([&] (Session_state const &s) { + s.generate_session_request(xml); }); }); + } catch (Xml_generator::Buffer_exceeded &) { + throw Buffer_capacity_exceeded(); + } } } _content_producer { _id_space };