diff mbox

libnet/netload: Three more minor clean-ups

Message ID 1498649141-17026-1-git-send-email-thuth@redhat.com
State Accepted
Headers show

Commit Message

Thomas Huth June 28, 2017, 11:25 a.m. UTC
The error code in netload_error() could be longer than 4 characters,
so we should rather use the calculated string length here instead.

The tftp_err variable is only used in tftp_load() so it can be moved
there.

And the icmp_err_str variable only points to constant strings, so it
should be marked with "const".

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 Sorry, got lazy and put everything in one patch ... if you prefer,
 I can also split it up into three patches instead.

 lib/libnet/netload.c | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

Comments

Alexey Kardashevskiy June 30, 2017, 6:06 a.m. UTC | #1
On 28/06/17 21:25, Thomas Huth wrote:
> The error code in netload_error() could be longer than 4 characters,
> so we should rather use the calculated string length here instead.
> 
> The tftp_err variable is only used in tftp_load() so it can be moved
> there.
> 
> And the icmp_err_str variable only points to constant strings, so it
> should be marked with "const".

Thanks, applied.

> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  Sorry, got lazy and put everything in one patch ... if you prefer,
>  I can also split it up into three patches instead.
> 
>  lib/libnet/netload.c | 25 +++++++++++++------------
>  1 file changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/lib/libnet/netload.c b/lib/libnet/netload.c
> index 39daabd..c549e69 100644
> --- a/lib/libnet/netload.c
> +++ b/lib/libnet/netload.c
> @@ -59,14 +59,15 @@ static void netload_error(int errcode, const char *format, ...)
>  {
>  	va_list vargs;
>  	char buf[256];
> +	int elen;
>  
> -	sprintf(buf, "E%04X: (net) ", errcode);
> +	elen = sprintf(buf, "E%04X: (net) ", errcode);
>  
>  	va_start(vargs, format);
> -	vsnprintf(&buf[13], sizeof(buf) - 13, format, vargs);
> +	vsnprintf(&buf[elen], sizeof(buf) - elen, format, vargs);
>  	va_end(vargs);
>  
> -	bootmsg_error(errcode, &buf[7]);
> +	bootmsg_error(errcode, &buf[elen - 6]);
>  	write_mm_log(buf, strlen(buf), 0x91);
>  }
>  
> @@ -404,12 +405,13 @@ static void seed_rng(uint8_t mac[])
>  }
>  
>  static int tftp_load(filename_ip_t *fnip, unsigned char *buffer, int len,
> -		     unsigned int retries, tftp_err_t *tftp_err, int32_t mode,
> +		     unsigned int retries, int32_t mode,
>  		     int32_t blksize, int ip_vers)
>  {
> +	tftp_err_t tftp_err;
>  	int rc;
>  
> -	rc = tftp(fnip, buffer, len, retries, tftp_err, mode, blksize, ip_vers);
> +	rc = tftp(fnip, buffer, len, retries, &tftp_err, mode, blksize, ip_vers);
>  
>  	if (rc > 0) {
>  		printf("  TFTP: Received %s (%d KBytes)\n", fnip->filename,
> @@ -445,7 +447,7 @@ static int tftp_load(filename_ip_t *fnip, unsigned char *buffer, int len,
>  		netload_error(0x3018, "file exceeds maximum TFTP transfer size");
>  		return -117;
>  	} else if (rc <= -10 && rc >= -15) {
> -		char *icmp_err_str;
> +		const char *icmp_err_str;
>  		switch (rc) {
>  		case -ICMP_NET_UNREACHABLE - 10:
>  			icmp_err_str = "net unreachable";
> @@ -474,18 +476,18 @@ static int tftp_load(filename_ip_t *fnip, unsigned char *buffer, int len,
>  	} else if (rc == -40) {
>  		netload_error(0x3014, "TFTP error occurred after "
>  			"%d bad packets received",
> -			tftp_err->bad_tftp_packets);
> +			tftp_err.bad_tftp_packets);
>  		return -113;
>  	} else if (rc == -41) {
>  		netload_error(0x3015, "TFTP error occurred after "
>  			"missing %d responses",
> -			tftp_err->no_packets);
> +			tftp_err.no_packets);
>  		return -114;
>  	} else if (rc == -42) {
>  		netload_error(0x3016, "TFTP error missing block %d, "
>  			"expected block was %d",
> -			tftp_err->blocks_missed,
> -			tftp_err->blocks_received);
> +			tftp_err.blocks_missed,
> +			tftp_err.blocks_received);
>  		return -115;
>  	}
>  
> @@ -498,7 +500,6 @@ int netload(char *buffer, int len, char *ret_buffer, int huge_load,
>  	int rc;
>  	filename_ip_t fn_ip;
>  	int fd_device;
> -	tftp_err_t tftp_err;
>  	obp_tftp_args_t obp_tftp_args;
>  	char null_ip[4] = { 0x00, 0x00, 0x00, 0x00 };
>  	char null_ip6[16] = { 0x00, 0x00, 0x00, 0x00,
> @@ -724,7 +725,7 @@ int netload(char *buffer, int len, char *ret_buffer, int huge_load,
>  
>  	/* Do the TFTP load and print error message if necessary */
>  	rc = tftp_load(&fn_ip, (unsigned char *)buffer, len,
> -		       obp_tftp_args.tftp_retries, &tftp_err, huge_load,
> +		       obp_tftp_args.tftp_retries, huge_load,
>  		       block_size, ip_version);
>  
>  	if (obp_tftp_args.ip_init == IP_INIT_DHCP)
>
diff mbox

Patch

diff --git a/lib/libnet/netload.c b/lib/libnet/netload.c
index 39daabd..c549e69 100644
--- a/lib/libnet/netload.c
+++ b/lib/libnet/netload.c
@@ -59,14 +59,15 @@  static void netload_error(int errcode, const char *format, ...)
 {
 	va_list vargs;
 	char buf[256];
+	int elen;
 
-	sprintf(buf, "E%04X: (net) ", errcode);
+	elen = sprintf(buf, "E%04X: (net) ", errcode);
 
 	va_start(vargs, format);
-	vsnprintf(&buf[13], sizeof(buf) - 13, format, vargs);
+	vsnprintf(&buf[elen], sizeof(buf) - elen, format, vargs);
 	va_end(vargs);
 
-	bootmsg_error(errcode, &buf[7]);
+	bootmsg_error(errcode, &buf[elen - 6]);
 	write_mm_log(buf, strlen(buf), 0x91);
 }
 
@@ -404,12 +405,13 @@  static void seed_rng(uint8_t mac[])
 }
 
 static int tftp_load(filename_ip_t *fnip, unsigned char *buffer, int len,
-		     unsigned int retries, tftp_err_t *tftp_err, int32_t mode,
+		     unsigned int retries, int32_t mode,
 		     int32_t blksize, int ip_vers)
 {
+	tftp_err_t tftp_err;
 	int rc;
 
-	rc = tftp(fnip, buffer, len, retries, tftp_err, mode, blksize, ip_vers);
+	rc = tftp(fnip, buffer, len, retries, &tftp_err, mode, blksize, ip_vers);
 
 	if (rc > 0) {
 		printf("  TFTP: Received %s (%d KBytes)\n", fnip->filename,
@@ -445,7 +447,7 @@  static int tftp_load(filename_ip_t *fnip, unsigned char *buffer, int len,
 		netload_error(0x3018, "file exceeds maximum TFTP transfer size");
 		return -117;
 	} else if (rc <= -10 && rc >= -15) {
-		char *icmp_err_str;
+		const char *icmp_err_str;
 		switch (rc) {
 		case -ICMP_NET_UNREACHABLE - 10:
 			icmp_err_str = "net unreachable";
@@ -474,18 +476,18 @@  static int tftp_load(filename_ip_t *fnip, unsigned char *buffer, int len,
 	} else if (rc == -40) {
 		netload_error(0x3014, "TFTP error occurred after "
 			"%d bad packets received",
-			tftp_err->bad_tftp_packets);
+			tftp_err.bad_tftp_packets);
 		return -113;
 	} else if (rc == -41) {
 		netload_error(0x3015, "TFTP error occurred after "
 			"missing %d responses",
-			tftp_err->no_packets);
+			tftp_err.no_packets);
 		return -114;
 	} else if (rc == -42) {
 		netload_error(0x3016, "TFTP error missing block %d, "
 			"expected block was %d",
-			tftp_err->blocks_missed,
-			tftp_err->blocks_received);
+			tftp_err.blocks_missed,
+			tftp_err.blocks_received);
 		return -115;
 	}
 
@@ -498,7 +500,6 @@  int netload(char *buffer, int len, char *ret_buffer, int huge_load,
 	int rc;
 	filename_ip_t fn_ip;
 	int fd_device;
-	tftp_err_t tftp_err;
 	obp_tftp_args_t obp_tftp_args;
 	char null_ip[4] = { 0x00, 0x00, 0x00, 0x00 };
 	char null_ip6[16] = { 0x00, 0x00, 0x00, 0x00,
@@ -724,7 +725,7 @@  int netload(char *buffer, int len, char *ret_buffer, int huge_load,
 
 	/* Do the TFTP load and print error message if necessary */
 	rc = tftp_load(&fn_ip, (unsigned char *)buffer, len,
-		       obp_tftp_args.tftp_retries, &tftp_err, huge_load,
+		       obp_tftp_args.tftp_retries, huge_load,
 		       block_size, ip_version);
 
 	if (obp_tftp_args.ip_init == IP_INIT_DHCP)