diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-05-31 00:07:52 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-05-31 00:07:52 -0400 |
commit | ffc21b653f08e3826867c14d44d6543d262bb417 (patch) | |
tree | 7e7bfcd648f0ac2180663c11cc852795b60de39f /src/common | |
parent | fe68a80f8f1e687d9e3dcdf6dfc5d0a8f3524335 (diff) | |
parent | 3a9351b57e528b1d0bd2e72bcf78db7c91b2ff8f (diff) | |
download | tor-ffc21b653f08e3826867c14d44d6543d262bb417.tar tor-ffc21b653f08e3826867c14d44d6543d262bb417.tar.gz |
Merge remote-tracking branch 'origin/maint-0.2.2'
(For bug 5969 fix)
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/compat.h | 5 | ||||
-rw-r--r-- | src/common/log.c | 7 | ||||
-rw-r--r-- | src/common/util.h | 6 |
3 files changed, 15 insertions, 3 deletions
diff --git a/src/common/compat.h b/src/common/compat.h index b0ef63bad..7edd889ee 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -259,11 +259,12 @@ void tor_munmap_file(tor_mmap_t *handle) ATTR_NONNULL((1)); int tor_snprintf(char *str, size_t size, const char *format, ...) CHECK_PRINTF(3,4) ATTR_NONNULL((1,3)); int tor_vsnprintf(char *str, size_t size, const char *format, va_list args) - ATTR_NONNULL((1,3)); + CHECK_PRINTF(3,0) ATTR_NONNULL((1,3)); int tor_asprintf(char **strp, const char *fmt, ...) CHECK_PRINTF(2,3); -int tor_vasprintf(char **strp, const char *fmt, va_list args); +int tor_vasprintf(char **strp, const char *fmt, va_list args) + CHECK_PRINTF(2,0); const void *tor_memmem(const void *haystack, size_t hlen, const void *needle, size_t nlen) ATTR_NONNULL((1,3)); diff --git a/src/common/log.c b/src/common/log.c index df27066f9..f509ddcd6 100644 --- a/src/common/log.c +++ b/src/common/log.c @@ -137,6 +137,13 @@ static void close_log(logfile_t *victim); static char *domain_to_string(log_domain_mask_t domain, char *buf, size_t buflen); +static INLINE char *format_msg(char *buf, size_t buf_len, + log_domain_mask_t domain, int severity, const char *funcname, + const char *format, va_list ap, size_t *msg_len_out) + CHECK_PRINTF(6,0); +static void logv(int severity, log_domain_mask_t domain, const char *funcname, + const char *format, va_list ap) + CHECK_PRINTF(4,0); /** Name of the application: used to generate the message we write at the * start of each new log. */ diff --git a/src/common/util.h b/src/common/util.h index 567efaafe..36601fa79 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -213,7 +213,11 @@ const char *escaped(const char *string); struct smartlist_t; void wrap_string(struct smartlist_t *out, const char *string, size_t width, const char *prefix0, const char *prefixRest); -int tor_vsscanf(const char *buf, const char *pattern, va_list ap); +int tor_vsscanf(const char *buf, const char *pattern, va_list ap) +#ifdef __GNUC__ + __attribute__((format(scanf, 2, 0))) +#endif + ; int tor_sscanf(const char *buf, const char *pattern, ...) #ifdef __GNUC__ __attribute__((format(scanf, 2, 3))) |