[U-Boot-Users] [PATCH] TFTP: add host ip addr support

Ben Warren
2008-01-16T20:47:22Z

Wolfgang Denk wrote:
> In message <478E68C6.8070309@gmail.com> you wrote:
>
>>> But I diaagree about strncpy because you need to known the size of
>>> the string and we know it only when we use the default_filename otherwise
>>> we need to strlen and in this strcpy do every thing itself.
>>>
>>>
>>>
>> strncpy copies AT MOST 'n' bytes.
>>
>
> ...and doesn't necessarily NUL-terminate.
>
>
>> #define MAX_FILE_NAME_LEN 80
>> static char tftp_filename[MAX_FILE_NAME_LEN];
>>
>> strncpy(tftp_filename, str, MAX_FILE_NAME_LEN);
>>
>> Standard buffer overrun protection.
>>
>
> ...only if you make sure that tftp_filename[] gets terminated
> independent of the length; otherwise you fix the problem when writing
> the srting but create one when reading it.
>
> Best regards,
>
> Wolfgang Denk
>
>
#define MAX_LEN 80
static char tftp_filename[MAX_LEN + 1];
memset(tftp_filename[MAX_LEN], 0, 1);

strncpy(tftp_filename, str, MAX_LEN);

Better?

regards,
Ben