Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 10:49 Wed 16 Jan     , Ben Warren wrote:
>   
>> Jean-Christophe PLAGNIOL-VILLARD wrote:
>>     
>>> On 22:19 Tue 15 Jan     , Ben Warren wrote:
>>>   
>>>       
>>>> Jean-Christophe PLAGNIOL-VILLARD wrote:
>>>>     
>>>>         
>>>>> allow to use a different server as set in serverip
>>>>>
>>>>> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[EMAIL PROTECTED]>
>>>>>
>>>>> diff --git a/common/cmd_net.c b/common/cmd_net.c
>>>>> index 21682c0..b86ca86 100644
>>>>> --- a/common/cmd_net.c
>>>>> +++ b/common/cmd_net.c
>>>>> @@ -51,7 +51,7 @@ int do_tftpb (cmd_tbl_t *cmdtp, int flag, int argc, 
>>>>> char 
>>>>> *argv[])
>>>>>  U_BOOT_CMD(
>>>>>   tftpboot,       3,      1,      do_tftpb,
>>>>>   "tftpboot- boot image via network using TFTP protocol\n",
>>>>> - "[loadAddress] [bootfilename]\n"
>>>>> + "[loadAddress] [[hostIPaddr:]bootfilename]\n"
>>>>>  );
>>>>>   int do_rarpb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
>>>>> diff --git a/net/tftp.c b/net/tftp.c
>>>>> index 8b95bcf..9d87e2c 100644
>>>>> --- a/net/tftp.c
>>>>> +++ b/net/tftp.c
>>>>> @@ -34,7 +34,7 @@
>>>>>  #define TFTP_ERROR       5
>>>>>  #define TFTP_OACK        6
>>>>>  -
>>>>> +static IPaddr_t TftpServerIP;
>>>>>  static int       TftpServerPort;         /* The UDP port at their end    
>>>>>         */
>>>>>  static int       TftpOurPort;            /* The UDP port at our end      
>>>>>         */
>>>>>  static int       TftpTimeoutCount;
>>>>> @@ -55,7 +55,7 @@ static int      TftpState;
>>>>>   #define DEFAULT_NAME_LEN        (8 + 4 + 1)
>>>>>  static char default_filename[DEFAULT_NAME_LEN];
>>>>> -static char *tftp_filename;
>>>>> +static char tftp_filename[2048];
>>>>>   
>>>>>       
>>>>>           
>>>> A 2k filename??? How about something more reasonable like 80 or 100 bytes. 
>>>> Use a #define for the size so you can use it later.
>>>>     
>>>>         
>>> I've chosed to use the same filename size as nfs.
>>>   
>>>       
>> Then NFS uses too big a buffer. Please make this one smaller, use a 
>> #define and strncpy.
>> <snip>
>>     
> OK about the buffer size.
>
> 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.

#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.

regards,
Ben

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to