aboutsummaryrefslogtreecommitdiff
path: root/iconv/gconv_open.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-09-01 07:29:10 +0000
committerUlrich Drepper <drepper@redhat.com>2000-09-01 07:29:10 +0000
commit67aacae67463402914388cec16190cd558c91792 (patch)
tree37c05d4b6b35ed321bd037258287d7bcb0a9a1b2 /iconv/gconv_open.c
parent7e48149628690331133359c8a4160482e20bba2b (diff)
downloadglibc-67aacae67463402914388cec16190cd558c91792.zip
glibc-67aacae67463402914388cec16190cd558c91792.tar.gz
glibc-67aacae67463402914388cec16190cd558c91792.tar.bz2
(__gconv_open): Set res to __GCONV_NOMEM is malloc fails.
Diffstat (limited to 'iconv/gconv_open.c')
-rw-r--r--iconv/gconv_open.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/iconv/gconv_open.c b/iconv/gconv_open.c
index 842bf73..a84ed2f 100644
--- a/iconv/gconv_open.c
+++ b/iconv/gconv_open.c
@@ -223,7 +223,10 @@ __gconv_open (const char *toset, const char *fromset, __gconv_t *handle,
newp = (struct __gconv_trans_data *)
malloc (sizeof (struct __gconv_trans_data));
if (newp == NULL)
- goto bail;
+ {
+ res = __GCONV_NOMEM;
+ goto bail;
+ }
newp->__trans_fct = runp->trans_fct;
newp->__trans_context_fct = runp->trans_context_fct;
@@ -251,7 +254,10 @@ __gconv_open (const char *toset, const char *fromset, __gconv_t *handle,
result->__data[cnt].__outbuf = (char *) malloc (size);
if (result->__data[cnt].__outbuf == NULL)
- goto bail;
+ {
+ res = __GCONV_NOMEM;
+ goto bail;
+ }
result->__data[cnt].__outbufend =
result->__data[cnt].__outbuf + size;