diff options
author | MacDue <macdue@dueutil.tech> | 2023-02-04 22:44:19 +0000 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-02-05 16:40:51 +0100 |
commit | b16ec1880cec01a182e095a1e14e0c642a8e2173 (patch) | |
tree | 6b7f6689157750a5c1843c7f442b70a2576b3f16 /Userland/Libraries/LibC/stdlib.cpp | |
parent | eea4dc5bfe271f405eb9e0db461a286f4fe2cc6b (diff) | |
download | serenity-b16ec1880cec01a182e095a1e14e0c642a8e2173.zip |
LibC+LibCore: Remove serenity_setenv()
This was called from LibCore and passed raw StringView data that may
not be null terminated, then incorrectly passed those strings to
getenv() and also tried printing them with just the %s format
specifier.
Diffstat (limited to 'Userland/Libraries/LibC/stdlib.cpp')
-rw-r--r-- | Userland/Libraries/LibC/stdlib.cpp | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/Userland/Libraries/LibC/stdlib.cpp b/Userland/Libraries/LibC/stdlib.cpp index 1cada26c97..687de3a7a3 100644 --- a/Userland/Libraries/LibC/stdlib.cpp +++ b/Userland/Libraries/LibC/stdlib.cpp @@ -472,14 +472,9 @@ int clearenv() // https://pubs.opengroup.org/onlinepubs/9699919799/functions/setenv.html int setenv(char const* name, char const* value, int overwrite) { - return serenity_setenv(name, strlen(name), value, strlen(value), overwrite); -} - -int serenity_setenv(char const* name, ssize_t name_length, char const* value, ssize_t value_length, int overwrite) -{ if (!overwrite && getenv(name)) return 0; - auto const total_length = name_length + value_length + 2; + auto const total_length = strlen(name) + strlen(value) + 2; auto* var = (char*)malloc(total_length); snprintf(var, total_length, "%s=%s", name, value); s_malloced_environment_variables.set((FlatPtr)var); |