aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTonu Naks <naks@adacore.com>2025-02-07 12:55:30 +0000
committerMarc Poulhiès <dkm@gcc.gnu.org>2025-06-05 10:18:38 +0200
commit35260dd303a1f5c911310f87e7ddc3f1b580abbd (patch)
treefa0de4177ebb7fccb366f6e0d0cb4bcc36bdd511
parent937f7c45a8c5f01a982e68b89f981430d8c823c8 (diff)
downloadgcc-35260dd303a1f5c911310f87e7ddc3f1b580abbd.zip
gcc-35260dd303a1f5c911310f87e7ddc3f1b580abbd.tar.gz
gcc-35260dd303a1f5c911310f87e7ddc3f1b580abbd.tar.bz2
ada: Add explicit null pointer check in C.Strings.Update
gcc/ada/ChangeLog: * libgnat/i-cstrin.adb: null pointer check in Update
-rw-r--r--gcc/ada/libgnat/i-cstrin.adb5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ada/libgnat/i-cstrin.adb b/gcc/ada/libgnat/i-cstrin.adb
index 974ba3a..8279562 100644
--- a/gcc/ada/libgnat/i-cstrin.adb
+++ b/gcc/ada/libgnat/i-cstrin.adb
@@ -281,6 +281,11 @@ is
Index : chars_ptr := Item + Offset;
begin
+ -- Check for null pointer as mandated by the RM.
+ if Item = Null_Ptr then
+ raise Dereference_Error;
+ end if;
+
if Check and then Offset + Chars'Length > Strlen (Item) then
raise Update_Error;
end if;