[dpdk-dev] acl: fix unchecked return value

Message ID 1505901708-526-1-git-send-email-kubax.kozak@intel.com (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Kuba Kozak Sept. 20, 2017, 10:01 a.m. UTC
  Add return value check and error handling for fseek call.

Coverity issue: 143435
Fixes: 361b2e9559fc ("acl: new sample l3fwd-acl")
Cc: konstantin.ananyev@intel.com
Cc: stable@dpdk.org

Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
---
 examples/l3fwd-acl/main.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
  

Comments

Michal Jastrzebski Oct. 2, 2017, 2:13 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Kuba Kozak
> Sent: Wednesday, September 20, 2017 12:02 PM
> To: Ananyev, Konstantin <konstantin.ananyev@intel.com>
> Cc: dev@dpdk.org; Kozak, KubaX <kubax.kozak@intel.com>;
> stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] acl: fix unchecked return value
> 
> Add return value check and error handling for fseek call.
> 
> Coverity issue: 143435
> Fixes: 361b2e9559fc ("acl: new sample l3fwd-acl")
> Cc: konstantin.ananyev@intel.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
> ---
>  examples/l3fwd-acl/main.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
> index 8eff4de..708e9eb 100644
> --- a/examples/l3fwd-acl/main.c
> +++ b/examples/l3fwd-acl/main.c
> @@ -1026,6 +1026,7 @@ add_rules(const char *rule_path,
>  	char buff[LINE_MAX];
>  	FILE *fh = fopen(rule_path, "rb");
>  	unsigned int i = 0;
> +	int val;
> 
>  	if (fh == NULL)
>  		rte_exit(EXIT_FAILURE, "%s: Open %s failed\n", __func__,
> @@ -1042,7 +1043,11 @@ add_rules(const char *rule_path,
>  		rte_exit(EXIT_FAILURE, "Not find any route entries in %s!\n",
>  				rule_path);
> 
> -	fseek(fh, 0, SEEK_SET);
> +	val = fseek(fh, 0, SEEK_SET);
> +	if (val < 0) {
> +		rte_exit(EXIT_FAILURE, "%s: File seek operation failed\n",
> +			__func__);
> +	}
> 
>  	acl_rules = calloc(acl_num, rule_size);
> 
> --
> 2.7.4

Hi Konstantin,
I would like to ask for a feedback regarding proposed fix. 
If everything is ok with it, please send acked-by. 

Best regards Michal.
  
Ananyev, Konstantin Oct. 2, 2017, 2:21 p.m. UTC | #2
> -----Original Message-----
> From: Kozak, KubaX
> Sent: Wednesday, September 20, 2017 11:02 AM
> To: Ananyev, Konstantin <konstantin.ananyev@intel.com>
> Cc: dev@dpdk.org; Kozak, KubaX <kubax.kozak@intel.com>; stable@dpdk.org
> Subject: [PATCH] acl: fix unchecked return value
> 
> Add return value check and error handling for fseek call.
> 
> Coverity issue: 143435
> Fixes: 361b2e9559fc ("acl: new sample l3fwd-acl")
> Cc: konstantin.ananyev@intel.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
> ---
>  examples/l3fwd-acl/main.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
> index 8eff4de..708e9eb 100644
> --- a/examples/l3fwd-acl/main.c
> +++ b/examples/l3fwd-acl/main.c
> @@ -1026,6 +1026,7 @@ add_rules(const char *rule_path,
>  	char buff[LINE_MAX];
>  	FILE *fh = fopen(rule_path, "rb");
>  	unsigned int i = 0;
> +	int val;
> 
>  	if (fh == NULL)
>  		rte_exit(EXIT_FAILURE, "%s: Open %s failed\n", __func__,
> @@ -1042,7 +1043,11 @@ add_rules(const char *rule_path,
>  		rte_exit(EXIT_FAILURE, "Not find any route entries in %s!\n",
>  				rule_path);
> 
> -	fseek(fh, 0, SEEK_SET);
> +	val = fseek(fh, 0, SEEK_SET);
> +	if (val < 0) {
> +		rte_exit(EXIT_FAILURE, "%s: File seek operation failed\n",
> +			__func__);
> +	}
> 
>  	acl_rules = calloc(acl_num, rule_size);
> 
> --
> 2.7.4

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

BTW, I think it should be l3fwd-acl inside the subject line.
  
Kuba Kozak Oct. 3, 2017, 11:39 a.m. UTC | #3
Thanks Konstantin,

I'll fix subject name and resend patch to dpdk witch Your ACK.

>-----Original Message-----
>From: Ananyev, Konstantin
>Sent: Monday, October 2, 2017 16:22
>To: Kozak, KubaX <kubax.kozak@intel.com>
>Cc: dev@dpdk.org; stable@dpdk.org
>Subject: RE: [PATCH] acl: fix unchecked return value
>
>
>
>> -----Original Message-----
>> From: Kozak, KubaX
>> Sent: Wednesday, September 20, 2017 11:02 AM
>> To: Ananyev, Konstantin <konstantin.ananyev@intel.com>
>> Cc: dev@dpdk.org; Kozak, KubaX <kubax.kozak@intel.com>;
>> stable@dpdk.org
>> Subject: [PATCH] acl: fix unchecked return value
>>
>> Add return value check and error handling for fseek call.
>>
>> Coverity issue: 143435
>> Fixes: 361b2e9559fc ("acl: new sample l3fwd-acl")
>> Cc: konstantin.ananyev@intel.com
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
>> ---
>>  examples/l3fwd-acl/main.c | 7 ++++++-
>>  1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
>> index 8eff4de..708e9eb 100644
>> --- a/examples/l3fwd-acl/main.c
>> +++ b/examples/l3fwd-acl/main.c
>> @@ -1026,6 +1026,7 @@ add_rules(const char *rule_path,
>>  	char buff[LINE_MAX];
>>  	FILE *fh = fopen(rule_path, "rb");
>>  	unsigned int i = 0;
>> +	int val;
>>
>>  	if (fh == NULL)
>>  		rte_exit(EXIT_FAILURE, "%s: Open %s failed\n", __func__, @@ -1042,7
>> +1043,11 @@ add_rules(const char *rule_path,
>>  		rte_exit(EXIT_FAILURE, "Not find any route entries in %s!\n",
>>  				rule_path);
>>
>> -	fseek(fh, 0, SEEK_SET);
>> +	val = fseek(fh, 0, SEEK_SET);
>> +	if (val < 0) {
>> +		rte_exit(EXIT_FAILURE, "%s: File seek operation failed\n",
>> +			__func__);
>> +	}
>>
>>  	acl_rules = calloc(acl_num, rule_size);
>>
>> --
>> 2.7.4
>
>Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
>
>BTW, I think it should be l3fwd-acl inside the subject line.
  

Patch

diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
index 8eff4de..708e9eb 100644
--- a/examples/l3fwd-acl/main.c
+++ b/examples/l3fwd-acl/main.c
@@ -1026,6 +1026,7 @@  add_rules(const char *rule_path,
 	char buff[LINE_MAX];
 	FILE *fh = fopen(rule_path, "rb");
 	unsigned int i = 0;
+	int val;
 
 	if (fh == NULL)
 		rte_exit(EXIT_FAILURE, "%s: Open %s failed\n", __func__,
@@ -1042,7 +1043,11 @@  add_rules(const char *rule_path,
 		rte_exit(EXIT_FAILURE, "Not find any route entries in %s!\n",
 				rule_path);
 
-	fseek(fh, 0, SEEK_SET);
+	val = fseek(fh, 0, SEEK_SET);
+	if (val < 0) {
+		rte_exit(EXIT_FAILURE, "%s: File seek operation failed\n",
+			__func__);
+	}
 
 	acl_rules = calloc(acl_num, rule_size);