diff --git a/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c b/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c index 466c673..219c7bd 100644 --- a/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c +++ b/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c @@ -843,14 +843,14 @@ int builtin_vsnprintf(char *buffer, size_t n, const char *format, va_list ap) /* String */ sarg = va_arg(ap, const char *); sarg = sarg ? sarg : "(null)"; - slen = strlen(sarg); + slen = prec ? strnlen(sarg, prec) : strlen(sarg); goto is_string; } case 'm': { /* glibc error string */ sarg = strerror(errno); - slen = strlen(sarg); + slen = prec ? strnlen(sarg, prec) : strlen(sarg); goto is_string; } is_string: