*: remove check for errors on getsockaddr in cases we know they can't happen
libbb: make get_sock_lsa use only one getsockaddr syscall, not two function old new delta get_sock_lsa 72 101 +29 do_iplink 1151 1137 -14 arping_main 1585 1569 -16 dolisten 789 755 -34 xrtnl_open 161 94 -67
This commit is contained in:
		@@ -348,9 +348,10 @@ int arping_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
			if (setsockopt(probe_fd, SOL_SOCKET, SO_DONTROUTE, &const_int_1, sizeof(const_int_1)) == -1)
 | 
			
		||||
				bb_perror_msg("setsockopt(SO_DONTROUTE)");
 | 
			
		||||
			xconnect(probe_fd, (struct sockaddr *) &saddr, sizeof(saddr));
 | 
			
		||||
			if (getsockname(probe_fd, (struct sockaddr *) &saddr, &alen) == -1) {
 | 
			
		||||
				bb_perror_msg_and_die("getsockname");
 | 
			
		||||
			}
 | 
			
		||||
			getsockname(probe_fd, (struct sockaddr *) &saddr, &alen);
 | 
			
		||||
			//never happens:
 | 
			
		||||
			//if (getsockname(probe_fd, (struct sockaddr *) &saddr, &alen) == -1)
 | 
			
		||||
			//	bb_perror_msg_and_die("getsockname");
 | 
			
		||||
			if (saddr.sin_family != AF_INET)
 | 
			
		||||
				bb_error_msg_and_die("no IP address configured");
 | 
			
		||||
			src = saddr.sin_addr;
 | 
			
		||||
@@ -365,10 +366,10 @@ int arping_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
 | 
			
		||||
	{
 | 
			
		||||
		socklen_t alen = sizeof(me);
 | 
			
		||||
 | 
			
		||||
		if (getsockname(sock_fd, (struct sockaddr *) &me, &alen) == -1) {
 | 
			
		||||
			bb_perror_msg_and_die("getsockname");
 | 
			
		||||
		}
 | 
			
		||||
		getsockname(sock_fd, (struct sockaddr *) &me, &alen);
 | 
			
		||||
		//never happens:
 | 
			
		||||
		//if (getsockname(sock_fd, (struct sockaddr *) &me, &alen) == -1)
 | 
			
		||||
		//	bb_perror_msg_and_die("getsockname");
 | 
			
		||||
	}
 | 
			
		||||
	if (me.sll_halen == 0) {
 | 
			
		||||
		bb_error_msg(err_str, "is not ARPable (no ll address)");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user