xfs_quota: fix unsigned int id comparisons
diff mbox series

Message ID 20200527172514.GK252930@magnolia
State Superseded
Headers show
Series
  • xfs_quota: fix unsigned int id comparisons
Related show

Commit Message

Darrick J. Wong May 27, 2020, 5:25 p.m. UTC
From: Darrick J. Wong <darrick.wong@oracle.com>

Fix compiler warnings about unsigned int comparisons by replacing them
with an explicit check for the one possible invalid value (-1U).
id_from_string sets exitcode to nonzero when it sees this value, so the
call sites don't have to do that.

Coverity-id: 1463855, 1463856, 1463857
Fixes: 67a73d6139d0 ("xfs_quota: refactor code to generate id from name")
Fixes: 36dc471cc9bb ("xfs_quota: allow individual timer extension")
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
 quota/edit.c |   22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

Comments

Eric Sandeen May 27, 2020, 5:34 p.m. UTC | #1
On 5/27/20 12:25 PM, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> Fix compiler warnings about unsigned int comparisons by replacing them
> with an explicit check for the one possible invalid value (-1U).
> id_from_string sets exitcode to nonzero when it sees this value, so the
> call sites don't have to do that.

[and skip exitcode setting because that happens in id_from_string()]

Thanks for fixing this, now let's see if it's enough for Coverity :)

Reviewed-by: Eric Sandeen <sandeen@redhat.com>

> 
> Coverity-id: 1463855, 1463856, 1463857
> Fixes: 67a73d6139d0 ("xfs_quota: refactor code to generate id from name")
> Fixes: 36dc471cc9bb ("xfs_quota: allow individual timer extension")
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> ---
>  quota/edit.c |   22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/quota/edit.c b/quota/edit.c
> index cf9508bf..01d358f7 100644
> --- a/quota/edit.c
> +++ b/quota/edit.c
> @@ -307,11 +307,11 @@ limit_f(
>  
>  
>  	id = id_from_string(name, type);
> -	if (id >= 0)
> -		set_limits(id, type, mask, fs_path->fs_name,
> -			   &bsoft, &bhard, &isoft, &ihard, &rtbsoft, &rtbhard);
> -	else
> -		exitcode = -1;
> +	if (id == -1)
> +		return 0;
> +
> +	set_limits(id, type, mask, fs_path->fs_name,
> +		   &bsoft, &bhard, &isoft, &ihard, &rtbsoft, &rtbhard);
>  	return 0;
>  }
>  
> @@ -545,9 +545,10 @@ timer_f(
>  	if (name)
>  		id = id_from_string(name, type);
>  
> -	if (id >= 0)
> -		set_timer(id, type, mask, fs_path->fs_name, value);
> +	if (id == -1)
> +		return 0;
>  
> +	set_timer(id, type, mask, fs_path->fs_name, value);
>  	return 0;
>  }
>  
> @@ -642,11 +643,10 @@ warn_f(
>  	}
>  
>  	id = id_from_string(name, type);
> -	if (id >= 0)
> -		set_warnings(id, type, mask, fs_path->fs_name, value);
> -	else
> -		exitcode = -1;
> +	if (id == -1)
> +		return 0;
>  
> +	set_warnings(id, type, mask, fs_path->fs_name, value);
>  	return 0;
>  }
>  
>

Patch
diff mbox series

diff --git a/quota/edit.c b/quota/edit.c
index cf9508bf..01d358f7 100644
--- a/quota/edit.c
+++ b/quota/edit.c
@@ -307,11 +307,11 @@  limit_f(
 
 
 	id = id_from_string(name, type);
-	if (id >= 0)
-		set_limits(id, type, mask, fs_path->fs_name,
-			   &bsoft, &bhard, &isoft, &ihard, &rtbsoft, &rtbhard);
-	else
-		exitcode = -1;
+	if (id == -1)
+		return 0;
+
+	set_limits(id, type, mask, fs_path->fs_name,
+		   &bsoft, &bhard, &isoft, &ihard, &rtbsoft, &rtbhard);
 	return 0;
 }
 
@@ -545,9 +545,10 @@  timer_f(
 	if (name)
 		id = id_from_string(name, type);
 
-	if (id >= 0)
-		set_timer(id, type, mask, fs_path->fs_name, value);
+	if (id == -1)
+		return 0;
 
+	set_timer(id, type, mask, fs_path->fs_name, value);
 	return 0;
 }
 
@@ -642,11 +643,10 @@  warn_f(
 	}
 
 	id = id_from_string(name, type);
-	if (id >= 0)
-		set_warnings(id, type, mask, fs_path->fs_name, value);
-	else
-		exitcode = -1;
+	if (id == -1)
+		return 0;
 
+	set_warnings(id, type, mask, fs_path->fs_name, value);
 	return 0;
 }