From afa00abb2b68205bee539d7947130d6b1b1ec6e9 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Thu, 1 Apr 2021 19:39:14 +0200 Subject: Hardened entire system By using the nonnull attribute and replace buffer-overflow-prone functions like strcpy, strcat and sprintf by strlcpy, strlcat and snprintf. --- libs/libc/inc/print.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'libs/libc/inc/print.h') diff --git a/libs/libc/inc/print.h b/libs/libc/inc/print.h index 58b5dc6..751a929 100644 --- a/libs/libc/inc/print.h +++ b/libs/libc/inc/print.h @@ -3,24 +3,24 @@ #ifndef PRINT_H #define PRINT_H -#include "arg.h" +#include #include -int printf(const char *format, ...); -int vprintf(const char *format, va_list ap); -int sprintf(char *str, const char *format, ...); -int vsprintf(char *str, const char *format, va_list ap); -int print(const char *str); -NORETURN void panic(const char *format, ...); +int printf(const char *format, ...) NONNULL; +int vprintf(const char *format, va_list ap) NONNULL; +int snprintf(char *str, u32 size, const char *format, ...) NONNULL; +int vsnprintf(char *str, u32 size, const char *format, va_list ap) NONNULL; +int print(const char *str) NONNULL; +NORETURN void panic(const char *format, ...) NONNULL; #ifdef userspace -int vfprintf(const char *path, const char *format, va_list ap); -int fprintf(const char *path, const char *format, ...); -int log(const char *format, ...); -int err(int code, const char *format, ...); +int vfprintf(const char *path, const char *format, va_list ap) NONNULL; +int fprintf(const char *path, const char *format, ...) NONNULL; +int log(const char *format, ...) NONNULL; +int err(int code, const char *format, ...) NONNULL; #else #include -int print_app(enum stream_defaults id, const char *proc_name, const char *str); +int print_app(enum stream_defaults id, const char *proc_name, const char *str) NONNULL; void print_trace(u32 count); #endif -- cgit v1.2.3