Force nul-termination of strings after vsnprintf().
[oweals/tinc.git] / src / protocol.c
index 5b8b7ba3372e9b40b0b4321f694ee49ce8564d38..fa169f32733550920c2760a5ca4ae027e6fd909c 100644 (file)
@@ -75,10 +75,11 @@ bool send_request(connection_t *c, const char *format, ...) {
           input buffer anyway */
 
        va_start(args, format);
-       len = vsnprintf(buffer, MAXBUFSIZE, format, args);
+       len = vsnprintf(buffer, sizeof buffer, format, args);
+       buffer[sizeof buffer - 1] = 0;
        va_end(args);
 
-       if(len < 0 || len > MAXBUFSIZE - 1) {
+       if(len < 0 || len > sizeof buffer - 1) {
                logger(LOG_ERR, "Output buffer overflow while sending request to %s (%s)",
                           c->name, c->hostname);
                return false;