From a9e711dde7934f7907ac318538551900cd412190 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 26 Nov 1999 06:15:12 +0000 Subject: [PATCH] (__gconv): Always initialize cd->__data[last_step].__outbuf and cd->__data[last_step].__outbufend. --- iconv/gconv.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/iconv/gconv.c b/iconv/gconv.c index 14398e2e375..16a6b8fb94e 100644 --- a/iconv/gconv.c +++ b/iconv/gconv.c @@ -27,8 +27,9 @@ int internal_function -__gconv (gconv_t cd, const unsigned char **inbuf, const unsigned char *inbufend, - unsigned char **outbuf, unsigned char *outbufend, size_t *converted) +__gconv (gconv_t cd, const unsigned char **inbuf, + const unsigned char *inbufend, unsigned char **outbuf, + unsigned char *outbufend, size_t *converted) { size_t last_step = cd->nsteps - 1; int result; @@ -39,6 +40,9 @@ __gconv (gconv_t cd, const unsigned char **inbuf, const unsigned char *inbufend, assert (converted != NULL); *converted = 0; + cd->data[last_step].outbuf = *outbuf; + cd->data[last_step].outbufend = outbufend; + if (inbuf == NULL || *inbuf == NULL) /* We just flush. */ result = _CALL_DL_FCT (cd->steps->fct, @@ -48,8 +52,6 @@ __gconv (gconv_t cd, const unsigned char **inbuf, const unsigned char *inbufend, const unsigned char *last_start; assert (outbuf != NULL && *outbuf != NULL); - cd->data[last_step].outbuf = *outbuf; - cd->data[last_step].outbufend = outbufend; do { -- 2.47.2