From 50758bdd96f5043e58d53419a83b565586fef914 Mon Sep 17 00:00:00 2001 From: klondike Date: Mon, 1 Apr 2013 21:07:57 +0200 Subject: Fix buffer overflow Signed-off-by: Ian Stakenvicius --- src/libudev/libudev-util.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libudev/libudev-util.c b/src/libudev/libudev-util.c index 7d5cd30662..9371f32e9d 100644 --- a/src/libudev/libudev-util.c +++ b/src/libudev/libudev-util.c @@ -337,13 +337,15 @@ size_t util_strpcpyf(char **dest, size_t size, const char *src, ...) va_list va; int i; + if (!size) return 0; /*Nothing to do if size is 0*/ + va_start(va, src); i = vsnprintf(*dest, size, src, va); if (i < (int)size) { *dest += i; size -= i; } else { - *dest += size; + *dest += size - 1; size = 0; } va_end(va); -- cgit v1.2.3-54-g00ecf