diff --git a/src/snprintf.c b/src/snprintf.c index e018edb..3e854e5 100644 --- a/src/snprintf.c +++ b/src/snprintf.c @@ -705,7 +705,7 @@ static int dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c) int xmpp_vsnprintf (char *str, size_t count, const char *fmt, va_list args) { - if (str != NULL) + if (str != NULL && count > 0) str[0] = 0; return dopr(str, count, fmt, args); } diff --git a/src/stanza.c b/src/stanza.c index 38af9ac..036f478 100644 --- a/src/stanza.c +++ b/src/stanza.c @@ -291,7 +291,7 @@ static inline void _render_update(int *written, const int length, { *written += lastwrite; - if (*written > length) { + if (*written >= length) { *left = 0; *ptr = NULL; } else {