diff --git a/src/polyorb_hi-messages.adb b/src/polyorb_hi-messages.adb index 6fcbfaf283866d935645b598ed742ad484749eb5..bae4cbc311cd6a6ff59ebbd9b0aa618dbc3d45e2 100644 --- a/src/polyorb_hi-messages.adb +++ b/src/polyorb_hi-messages.adb @@ -182,12 +182,10 @@ package body PolyORB_HI.Messages is Stream.Last := 0; end if; - if Item'Length > Stream.Content'Last - Stream.Last then - raise Program_Error; + if Item'Length <= Stream.Content'Last - Stream.Last then + Stream.Content (Stream.Last + 1 .. Stream.Last + Item'Length) := Item; + Stream.Last := Stream.Last + Item'Length; end if; - - Stream.Content (Stream.Last + 1 .. Stream.Last + Item'Length) := Item; - Stream.Last := Stream.Last + Item'Length; end Write; ---------------