From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Wed, 16 Jan 2008 16:38:34 -0500 Subject: [U-Boot-Users] [PATCH] TFTP: add host ip addr support In-Reply-To: <20080116212307.20637243C0@gemini.denx.de> References: <20080116212307.20637243C0@gemini.denx.de> Message-ID: <478E795A.8050808@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang Denk wrote: > In message <478E6D5A.4070807@gmail.com> you wrote: > >> #define MAX_LEN 80 >> static char tftp_filename[MAX_LEN + 1]; >> memset(tftp_filename[MAX_LEN], 0, 1); >> > > warning: passing argument 1 of 'memset' makes pointer from integer without a cast > > 10-second response, brain not fully engaged. Compiler not used (duh?) >> strncpy(tftp_filename, str, MAX_LEN); >> >> >> Better? >> > > No, definitely not. > > First, the compiler will issue a warning; second, using memcpy() to > store a single character is serious overkill - why don't you simply > use "tftp_filename[MAX_LEN] = '\0';" ?;and third - the real bug - the > strncpy will happily overwrite the 0 you placed there before. > > strncpy won't touch the zero, since it's in the 81st byte and strncpy will only copy 80. True about the warnings and memset overkill, though. OK, let's move on... Jean-Christophe - Jason McMullen has given you a nice prototype. Please use it. regards, Ben