From 870f4dca9d7b5e86544216d0e36863d17aefef62 Mon Sep 17 00:00:00 2001 From: spicyjpeg Date: Tue, 4 Apr 2023 15:09:38 +0200 Subject: Add argument validation to most libpsn00b functions --- libpsn00b/include/assert.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'libpsn00b/include/assert.h') diff --git a/libpsn00b/include/assert.h b/libpsn00b/include/assert.h index d18a56f..26b2023 100644 --- a/libpsn00b/include/assert.h +++ b/libpsn00b/include/assert.h @@ -25,6 +25,9 @@ void _assert_abort(const char *file, int line, const char *expr); #define assert(expr) #define _sdk_log(fmt, ...) +#define _sdk_assert(expr, fmt, ...) +#define _sdk_validate_args_void(expr) +#define _sdk_validate_args(expr, ret) #else @@ -39,6 +42,22 @@ void _assert_abort(const char *file, int line, const char *expr); printf(fmt __VA_OPT__(,) __VA_ARGS__) #endif +#define _sdk_assert(expr, ret, fmt, ...) \ + if (!(expr)) { \ + _sdk_log(fmt, __VA_ARGS__); \ + return ret; \ + } +#define _sdk_validate_args_void(expr) \ + if (!(expr)) { \ + _sdk_log("invalid args to %s() (%s)\n", __func__, #expr); \ + return; \ + } +#define _sdk_validate_args(expr, ret) \ + if (!(expr)) { \ + _sdk_log("invalid args to %s() (%s)\n", __func__, #expr); \ + return ret; \ + } + #endif #endif -- cgit v1.2.3