From: Ulrich Drepper Date: Tue, 1 Jun 2004 22:18:24 +0000 (+0000) Subject: Update. X-Git-Tag: upstream/2.20~10906 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=322861e8b62dbca030a66f9ab37e6688b223c65f;p=platform%2Fupstream%2Flinaro-glibc.git Update. 2004-05-07 Dmitry V. Levin * argp/argp-help.c (__argp_error, __argp_failure): Check result of __asprintf call and don't use string if it failed. * stdio-common/psignal.c (psignal): Likewise. * locale/programs/localedef.c (more_help): Likewise. * resolv/res_hconf.c (arg_service_list, arg_trimdomain_list, arg_bool, parse_line): Check result of __asprintf calls and don't use string if they failed. * sunrpc/svc_simple.c (registerrpc, universal): Likewise. * elf/ldconfig.c (parse_conf_include): Check result of __asprintf call and exit if it failed. --- diff --git a/ChangeLog b/ChangeLog index 745dc0e..4f38604 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-05-07 Dmitry V. Levin + + * argp/argp-help.c (__argp_error, __argp_failure): Check result + of __asprintf call and don't use string if it failed. + * stdio-common/psignal.c (psignal): Likewise. + * locale/programs/localedef.c (more_help): Likewise. + * resolv/res_hconf.c (arg_service_list, arg_trimdomain_list, + arg_bool, parse_line): Check result of __asprintf calls and + don't use string if they failed. + * sunrpc/svc_simple.c (registerrpc, universal): Likewise. + * elf/ldconfig.c (parse_conf_include): Check result of __asprintf + call and exit if it failed. + 2004-05-10 Jakub Jelinek * sysdeps/posix/sysconf.c (__sysconf) .\n")); +.\n")) < 0) + return NULL; return cp; default: break; diff --git a/resolv/res_hconf.c b/resolv/res_hconf.c index 59f186e..91cd300 100644 --- a/resolv/res_hconf.c +++ b/resolv/res_hconf.c @@ -145,8 +145,10 @@ arg_service_list (const char *fname, int line_num, const char *args, { char *buf; - __asprintf (&buf, _("%s: line %d: expected service, found `%s'\n"), - fname, line_num, start); + if (__asprintf (&buf, + _("%s: line %d: expected service, found `%s'\n"), + fname, line_num, start) < 0) + return 0; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) @@ -162,9 +164,10 @@ arg_service_list (const char *fname, int line_num, const char *args, { char *buf; - __asprintf (&buf, - _("%s: line %d: cannot specify more than %d services"), - fname, line_num, SERVICE_MAX); + if (__asprintf (&buf, _("\ +%s: line %d: cannot specify more than %d services"), + fname, line_num, SERVICE_MAX) < 0) + return 0; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) @@ -189,9 +192,10 @@ arg_service_list (const char *fname, int line_num, const char *args, { char *buf; - __asprintf (&buf, _("\ + if (__asprintf (&buf, _("\ %s: line %d: list delimiter not followed by keyword"), - fname, line_num); + fname, line_num) < 0) + return 0; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) @@ -229,9 +233,10 @@ arg_trimdomain_list (const char *fname, int line_num, const char *args, { char *buf; - __asprintf (&buf, _("\ + if (__asprintf (&buf, _("\ %s: line %d: cannot specify more than %d trim domains"), - fname, line_num, TRIMDOMAINS_MAX); + fname, line_num, TRIMDOMAINS_MAX) < 0) + return 0; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) @@ -254,9 +259,10 @@ arg_trimdomain_list (const char *fname, int line_num, const char *args, { char *buf; - __asprintf (&buf, _("\ + if (__asprintf (&buf, _("\ %s: line %d: list delimiter not followed by domain"), - fname, line_num); + fname, line_num) < 0) + return 0; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) @@ -316,9 +322,10 @@ arg_bool (const char *fname, int line_num, const char *args, unsigned flag) { char *buf; - __asprintf (&buf, - _("%s: line %d: expected `on' or `off', found `%s'\n"), - fname, line_num, args); + if (__asprintf (&buf, + _("%s: line %d: expected `on' or `off', found `%s'\n"), + fname, line_num, args) < 0) + return 0; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) @@ -364,8 +371,9 @@ parse_line (const char *fname, int line_num, const char *str) { char *buf; - __asprintf (&buf, _("%s: line %d: bad command `%s'\n"), - fname, line_num, start); + if (__asprintf (&buf, _("%s: line %d: bad command `%s'\n"), + fname, line_num, start) < 0) + return; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) @@ -392,9 +400,10 @@ parse_line (const char *fname, int line_num, const char *str) { char *buf; - __asprintf (&buf, - _("%s: line %d: ignoring trailing garbage `%s'\n"), - fname, line_num, str); + if (__asprintf (&buf, + _("%s: line %d: ignoring trailing garbage `%s'\n"), + fname, line_num, str) < 0) + break; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) diff --git a/stdio-common/psignal.c b/stdio-common/psignal.c index 0764af5..3a75224 100644 --- a/stdio-common/psignal.c +++ b/stdio-common/psignal.c @@ -57,7 +57,13 @@ psignal (int sig, const char *s) { char *buf; - (void) __asprintf (&buf, _("%s%sUnknown signal %d\n"), s, colon, sig); + if (__asprintf (&buf, _("%s%sUnknown signal %d\n"), s, colon, sig) < 0) + { + if (_IO_fwide (stderr, 0) > 0) + (void) __fwprintf (stderr, L"%s%s%s\n", s, colon, _("Unknown signal")); + else + (void) fprintf (stderr, "%s%s%s\n", s, colon, _("Unknown signal")); + } if (_IO_fwide (stderr, 0) > 0) (void) __fwprintf (stderr, L"%s", buf); diff --git a/sunrpc/svc_simple.c b/sunrpc/svc_simple.c index 57bedba..5ac21ff 100644 --- a/sunrpc/svc_simple.c +++ b/sunrpc/svc_simple.c @@ -84,8 +84,9 @@ registerrpc (u_long prognum, u_long versnum, u_long procnum, if (procnum == NULLPROC) { - (void) __asprintf (&buf, _("can't reassign procedure number %ld\n"), - NULLPROC); + if (__asprintf (&buf, _("can't reassign procedure number %ld\n"), + NULLPROC) < 0) + buf = NULL; goto err_out; } if (transp == 0) @@ -101,8 +102,9 @@ registerrpc (u_long prognum, u_long versnum, u_long procnum, if (!svc_register (transp, (u_long) prognum, (u_long) versnum, universal, IPPROTO_UDP)) { - (void) __asprintf (&buf, _("couldn't register prog %ld vers %ld\n"), - prognum, versnum); + if (__asprintf (&buf, _("couldn't register prog %ld vers %ld\n"), + prognum, versnum) < 0) + buf = NULL; goto err_out; } pl = (struct proglst_ *) malloc (sizeof (struct proglst_)); @@ -121,6 +123,8 @@ registerrpc (u_long prognum, u_long versnum, u_long procnum, return 0; err_out: + if (buf == NULL) + return -1; #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) (void) __fwprintf (stderr, L"%s", buf); @@ -171,16 +175,20 @@ universal (struct svc_req *rqstp, SVCXPRT *transp_l) return; if (!INTUSE(svc_sendreply) (transp_l, pl->p_outproc, outdata)) { - (void) __asprintf (&buf, - _("trouble replying to prog %d\n"), - pl->p_prognum); - exit (1); + if (__asprintf (&buf, _("trouble replying to prog %d\n"), + pl->p_prognum) < 0) + buf = NULL; + goto err_out2; } /* free the decoded arguments */ (void) svc_freeargs (transp_l, pl->p_inproc, xdrbuf); return; } - (void) __asprintf (&buf, _("never registered prog %d\n"), prog); + if (__asprintf (&buf, _("never registered prog %d\n"), prog) < 0) + buf = NULL; + err_out2: + if (buf == NULL) + exit (1); #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf);