From 4829a2fe7772c5af82e6a6d981951ceb165e0d24 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sat, 3 May 1997 23:30:56 +0000 Subject: [PATCH] fix for the case of max_sz == 0 git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1650 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/roken/snprintf.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/roken/snprintf.c b/lib/roken/snprintf.c index 310113a6d..1b03c8c31 100644 --- a/lib/roken/snprintf.c +++ b/lib/roken/snprintf.c @@ -90,7 +90,10 @@ as_reserve (struct state *state, size_t n) if (state->max_sz && state->sz >= state->max_sz) return 1; - state->sz = min(state->max_sz, state->sz*2); + if (state->max_sz) + state->sz = min(state->max_sz, state->sz*2); + else + state->sz *= 2; tmp = realloc (state->str, state->sz); if (tmp == NULL) return 1; @@ -448,7 +451,10 @@ vasnprintf (char **ret, size_t max_sz, const char *format, va_list args) struct state state; state.max_sz = max_sz; - state.sz = min(1, max_sz); + if (max_sz) + state.sz = min(1, max_sz); + else + state.sz = 1; state.str = malloc(state.sz); if (state.str == NULL) { *ret = NULL;