From: Aleksandra Pasek <pa...@adacore.com> gcc/ada/ChangeLog:
* libgnat/a-strsup.adb (Super_Delete): Fix index check. * libgnat/a-stwisu.adb (Super_Delete): Likewise. * libgnat/a-stzsup.adb (Super_Delete): Likewise. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/libgnat/a-strsup.adb | 4 ++-- gcc/ada/libgnat/a-stwisu.adb | 4 ++-- gcc/ada/libgnat/a-stzsup.adb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/ada/libgnat/a-strsup.adb b/gcc/ada/libgnat/a-strsup.adb index 8afde718581..3ac1a5ac724 100644 --- a/gcc/ada/libgnat/a-strsup.adb +++ b/gcc/ada/libgnat/a-strsup.adb @@ -755,7 +755,7 @@ package body Ada.Strings.Superbounded with SPARK_Mode is if Num_Delete <= 0 then return Source; - elsif From - 1 > Slen then + elsif From > Slen then raise Ada.Strings.Index_Error; elsif Through >= Slen then @@ -784,7 +784,7 @@ package body Ada.Strings.Superbounded with SPARK_Mode is if Num_Delete <= 0 then return; - elsif From - 1 > Slen then + elsif From > Slen then raise Ada.Strings.Index_Error; elsif Through >= Slen then diff --git a/gcc/ada/libgnat/a-stwisu.adb b/gcc/ada/libgnat/a-stwisu.adb index e7e6b1f75c1..28ae887cc5a 100644 --- a/gcc/ada/libgnat/a-stwisu.adb +++ b/gcc/ada/libgnat/a-stwisu.adb @@ -753,7 +753,7 @@ package body Ada.Strings.Wide_Superbounded is if Num_Delete <= 0 then return Source; - elsif From > Slen + 1 then + elsif From > Slen then raise Ada.Strings.Index_Error; elsif Through >= Slen then @@ -782,7 +782,7 @@ package body Ada.Strings.Wide_Superbounded is if Num_Delete <= 0 then return; - elsif From > Slen + 1 then + elsif From > Slen then raise Ada.Strings.Index_Error; elsif Through >= Slen then diff --git a/gcc/ada/libgnat/a-stzsup.adb b/gcc/ada/libgnat/a-stzsup.adb index fb1baf6c62c..5dcbadf3c03 100644 --- a/gcc/ada/libgnat/a-stzsup.adb +++ b/gcc/ada/libgnat/a-stzsup.adb @@ -754,7 +754,7 @@ package body Ada.Strings.Wide_Wide_Superbounded is if Num_Delete <= 0 then return Source; - elsif From > Slen + 1 then + elsif From > Slen then raise Ada.Strings.Index_Error; elsif Through >= Slen then @@ -783,7 +783,7 @@ package body Ada.Strings.Wide_Wide_Superbounded is if Num_Delete <= 0 then return; - elsif From > Slen + 1 then + elsif From > Slen then raise Ada.Strings.Index_Error; elsif Through >= Slen then -- 2.43.0