From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Roese Date: Fri, 31 Oct 2008 16:16:15 +0100 Subject: [U-Boot] 4xx warnings on cmd_elf.c In-Reply-To: <85126F26-4A40-427B-9959-C20925973994@kernel.crashing.org> References: <85126F26-4A40-427B-9959-C20925973994@kernel.crashing.org> Message-ID: <200810311616.15825.sr@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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)] I have no VxWorks platform to test this though. Best regards, Stefan ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de =====================================================================