diff options
author | Marvin Borner | 2021-04-01 19:39:14 +0200 |
---|---|---|
committer | Marvin Borner | 2021-04-01 19:39:14 +0200 |
commit | afa00abb2b68205bee539d7947130d6b1b1ec6e9 (patch) | |
tree | 3a821a75af6c4d4ff1bd4128c4859d77abf87e66 /kernel/features/load.c | |
parent | 4c168fb34c15a1b8981abef7ccef1542a6fb05ca (diff) |
Hardened entire system
By using the nonnull attribute and replace buffer-overflow-prone
functions like strcpy, strcat and sprintf by strlcpy, strlcat and
snprintf.
Diffstat (limited to 'kernel/features/load.c')
-rw-r--r-- | kernel/features/load.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/features/load.c b/kernel/features/load.c index b46f772..c5039ed 100644 --- a/kernel/features/load.c +++ b/kernel/features/load.c @@ -11,7 +11,7 @@ res elf_load(const char *path, struct proc *proc) { - if (!path || !memory_valid(path) || !proc) + if (!memory_valid(path)) return -EFAULT; struct stat s = { 0 }; @@ -30,7 +30,7 @@ res elf_load(const char *path, struct proc *proc) if (read != sizeof(header)) return -ENOEXEC; - strcpy(proc->name, path); + strlcpy(proc->name, path, sizeof(proc->name)); // Valid? u8 *magic = header.ident; |