From mboxrd@z Thu Jan 1 00:00:00 1970 From: Niklaus Giger Date: Sat, 01 Nov 2008 11:30:40 +0100 Subject: [U-Boot] 4xx warnings on cmd_elf.c References: <85126F26-4A40-427B-9959-C20925973994@kernel.crashing.org> <200810311616.15825.sr@denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Stefan Roese wrote: > On Friday 31 October 2008, Kumar Gala wrote: >> So when I build a 4xx config I see: >> >> cmd_elf.c: In function 'do_bootvx': >> cmd_elf.c:173: warning: array subscript is below array bounds >> cmd_elf.c:176: warning: array subscript is below array bounds >> cmd_elf.c:181: warning: array subscript is below array bounds >> >> sprintf (build_buf, "ibmEmac(0,0)"); >> >> if ((tmp = getenv ("hostname")) != NULL) { >> sprintf (&build_buf[strlen (build_buf - 1)], >> "host:%s ", tmp); >> } else { >> sprintf (&build_buf[strlen (build_buf - 1)], >> ": "); >> } >> >> if ((tmp = getenv ("ipaddr")) != NULL) { >> sprintf (&build_buf[strlen (build_buf - 1)], >> "e=%s ", tmp); >> } >> >> >> these seem suspect.. should this be &build_buf[strlen(build_buf) - 1] ? > > I haven't seen those warnings before. Triggered by your newer gcc most > likely. But you seem to be correct. The current code is definitely wrong. > And I think that your version is wrong as well. This should do the "right > thing": > > &build_buf[strlen(build_buf)] You are definitely right. But the code is broken in several ways as it does no generate a correct bootline which can be interpreted by vxWorks > I have no VxWorks platform to test this though. A patch (tested) on my HCUx platform will follow soon. > > Best regards, > Stefan Best regards Niklaus