From 751e32b705c87796ab2e609216687ae5e96cc2d6 Mon Sep 17 00:00:00 2001 From: yugui Date: Sat, 31 Oct 2009 13:05:32 +0000 Subject: merges r24839 from trunk into ruby_1_9_1. -- * dln.c (aix_loaderror): get rid of using uninitialized value in the case loadquery fails. fixed wrong index variable usage. see [ruby-core:25479]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@25597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ dln.c | 13 +++++++------ version.h | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3298222ab..d1adeec4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Sep 11 09:45:11 2009 Nobuyoshi Nakada + + * dln.c (aix_loaderror): get rid of using uninitialized value in the + case loadquery fails. fixed wrong index variable usage. see + [ruby-core:25479]. + Fri Sep 11 01:14:00 2009 Marc-Andre Lafortune * lib/net/http.rb (fetch): rdoc fix, patch by Arthur Schreiber. diff --git a/dln.c b/dln.c index 8826e94c5..167283897 100644 --- a/dln.c +++ b/dln.c @@ -1155,10 +1155,10 @@ dln_strerror(void) static void aix_loaderror(const char *pathname) { - char *message[8], errbuf[1024]; + char *message[1024], errbuf[1024]; int i,j; - struct errtab { + static const struct errtab { int errnum; char *errstr; } load_errtab[] = { @@ -1179,15 +1179,16 @@ aix_loaderror(const char *pathname) #define LOAD_ERRTAB_LEN (sizeof(load_errtab)/sizeof(load_errtab[0])) #define ERRBUF_APPEND(s) strncat(errbuf, s, sizeof(errbuf)-strlen(errbuf)-1) - snprintf(errbuf, 1024, "load failed - %s ", pathname); + snprintf(errbuf, sizeof(errbuf), "load failed - %s ", pathname); - if (!loadquery(1, &message[0], sizeof(message))) + message[0] = NULL; + if (!loadquery(L_GETMESSAGE, &message[0], sizeof(message))) ERRBUF_APPEND(strerror(errno)); for(i = 0; message[i] && *message[i]; i++) { int nerr = atoi(message[i]); for (j=0; j