diff options
author | Matt Johnston <matt@ucc.asn.au> | 2022-04-01 12:10:48 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2022-04-01 12:10:48 +0800 |
commit | ac2433cb8daa1279d14f8b2cd4c7e1f3405787d4 (patch) | |
tree | bfccc22c8d0c683ac27f0be3178c17b38939bd0d | |
parent | 552385280a068caabf3abf84edc9ad3c6b824f3e (diff) | |
download | dropbear-ac2433cb8daa1279d14f8b2cd4c7e1f3405787d4.tar.gz |
Add m_snprintf() that won't return negative
-rw-r--r-- | dbutil.c | 13 | ||||
-rw-r--r-- | dbutil.h | 2 |
2 files changed, 15 insertions, 0 deletions
@@ -771,3 +771,16 @@ int fd_read_pending(int fd) { return FD_ISSET(fd, &fds); } } + +int m_snprintf(char *str, size_t size, const char *format, ...) { + va_list param; + int ret; + + va_start(param, format); + ret = vsnprintf(str, size, format, param); + va_end(param); + if (ret < 0) { + dropbear_exit("snprintf failed"); + } + return ret; +} @@ -73,6 +73,8 @@ void m_close(int fd); void setnonblocking(int fd); void disallow_core(void); int m_str_to_uint(const char* str, unsigned int *val); +/* The same as snprintf() but exits rather than returning negative */ +int m_snprintf(char *str, size_t size, const char *format, ...); /* Used to force mp_ints to be initialised */ #define DEF_MP_INT(X) mp_int X = {0, 0, 0, NULL} |