From 594b80f4db7f067be86a45e275817f8d75c97afb Mon Sep 17 00:00:00 2001 From: Basile Desloges <basile.desloges@cea.fr> Date: Wed, 18 Sep 2024 15:49:51 +0200 Subject: [PATCH] [libc] Add secure_getenv --- share/libc/stdlib.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/share/libc/stdlib.h b/share/libc/stdlib.h index 1c516ccb5a..dc131429c4 100644 --- a/share/libc/stdlib.h +++ b/share/libc/stdlib.h @@ -416,7 +416,7 @@ extern long int jrand48 (unsigned short xsubi[3]); complete behaviors; disjoint behaviors; */ extern void *calloc(size_t nmemb, size_t size); - + /*@ allocates \result; @ assigns __fc_heap_status \from size, __fc_heap_status; @ assigns \result \from indirect:size, indirect:__fc_heap_status; @@ -562,6 +562,16 @@ extern char *__fc_env[ARG_MAX]; */ extern char *getenv(const char *name); +// Non-POSIX, GNU extension +/*@ + requires valid_name: valid_read_string(name); + assigns \result \from __fc_env[0..], indirect:name, + indirect:name[0 .. strlen(name)]; + ensures null_or_valid_result: + \result == \null || (\valid(\result) && valid_read_string(\result)); + */ +extern char *secure_getenv(const char *name); + /*@ requires valid_string: valid_read_string(string); assigns __fc_env[0..] \from __fc_env[0..], string; -- GitLab