Problem with sethostname() ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

	While attempting for some testing with sethostname() call, I got
this problem . As explained in the man page the sethostname call is
failing(ret val = -1 & errno = EFAULT(14)) for invalid address and valid
length. But the problem is after running the following test, hostname is
getting reset to NULL. I tested in both 2.4 & 2.5 kernels.
Any comments on this?? 


#include <stdio.h> 
#include <unistd.h> 
#include <string.h> 
#include <errno.h> 

main() 
{ 
int ret, errno; 
unsigned short int len; 
char host[50]="tmphost"; /* hostname max size is 64 */ 
errno = 0; 
len = sizeof(host); 
/* valid length and invalid address, expected err is EFAULT */ 
ret = sethostname((void *)-1, len); 
printf("return val : %d, err no: %d \n",ret,errno); 
}

	I saw the code of sys_sethostname() function (sys.c) , in which
copy_from_user() is being called. I would like to know is it required to
validate the name argument before calling copy_from_user() to avoid such
problems.
	We can expect similar problem in setdomainname() also in which
same sort of code is used.


PS : Please CC me your replies as I havn't subscribed to the list.

Thanks,
Suresh. 

**************************Disclaimer**************************************************    
 
 Information contained in this E-MAIL being proprietary to Wipro Limited is 'privileged' 
and 'confidential' and intended for use only by the individual or entity to which it is 
addressed. You are notified that any use, copying or dissemination of the information 
contained in the E-MAIL in any manner whatsoever is strictly prohibited.

****************************************************************************************

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux