From: Justin Squirek Date: Thu, 26 May 2022 15:15:46 +0000 (+0000) Subject: [Ada] Single character argument in call to Quote_Argument raises error X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1fde86bba55ea61b56f79798c6ac4cc6808e51a1;p=platform%2Fupstream%2Fgcc.git [Ada] Single character argument in call to Quote_Argument raises error This patch corrects an issue in the compiler whereby calling Quote_Argument with an argument that is of size 1 may lead to a CONSTRAINT_ERROR raised at runtime due to an undersized buffer. gcc/ada/ * libgnat/s-os_lib.adb (Quote_Argument): Modify the result buffer size calculation to handle the case where Arg'Length is 1. --- diff --git a/gcc/ada/libgnat/s-os_lib.adb b/gcc/ada/libgnat/s-os_lib.adb index 5af6586..53dfbf9 100644 --- a/gcc/ada/libgnat/s-os_lib.adb +++ b/gcc/ada/libgnat/s-os_lib.adb @@ -1940,7 +1940,7 @@ package body System.OS_Lib is procedure Quote_Argument (Arg : in out String_Access) is J : Positive := 1; Quote_Needed : Boolean := False; - Res : String (1 .. Arg'Length * 2); + Res : String (1 .. Arg'Length * 2 + 2); begin if Arg (Arg'First) /= '"' or else Arg (Arg'Last) /= '"' then