summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sysdep/unix/log.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sysdep/unix/log.c b/sysdep/unix/log.c
index b9077c7..00589a3 100644
--- a/sysdep/unix/log.c
+++ b/sysdep/unix/log.c
@@ -50,8 +50,11 @@ bvfprintf(FILE *f, char *fmt, va_list args)
char buf[4096];
int n;
- n = bvsprintf(buf, fmt, args);
- fwrite(buf, n, sizeof(char), f);
+ n = bvsnprintf(buf, sizeof(buf), fmt, args);
+ if (n >= 0)
+ fwrite(buf, n, sizeof(char), f);
+ else
+ fprintf(stderr, "BIRD: warning: logging buffer overflow!\n");
}
static void