diff mbox

uefirtvariable: fix the wrong operator used, coverity scan error (LP: #1362893)

Message ID 1409280424-25516-1-git-send-email-ivan.hu@canonical.com
State Accepted
Headers show

Commit Message

Ivan Hu Aug. 29, 2014, 2:47 a.m. UTC
CID 1232806, CID1232805: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
always true regardless of the values of its operand.

Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
---
 src/uefi/uefirtvariable/uefirtvariable.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Keng-Yu Lin Aug. 29, 2014, 6:20 a.m. UTC | #1
On Fri, Aug 29, 2014 at 10:47 AM, Ivan Hu <ivan.hu@canonical.com> wrote:
> CID 1232806, CID1232805: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
> always true regardless of the values of its operand.
>
> Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
> ---
>  src/uefi/uefirtvariable/uefirtvariable.c |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/src/uefi/uefirtvariable/uefirtvariable.c b/src/uefi/uefirtvariable/uefirtvariable.c
> index 46c7f0e..f0fd0ce 100644
> --- a/src/uefi/uefirtvariable/uefirtvariable.c
> +++ b/src/uefi/uefirtvariable/uefirtvariable.c
> @@ -781,9 +781,9 @@ static int setvariable_insertvariable(
>
>         if (ioret == -1) {
>                 if ((status == EFI_INVALID_PARAMETER) &&
> -                       ((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
> -                       (attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
> -                       (attributes | FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
> +                       ((attributes & FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
> +                       (attributes & FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
> +                       (attributes & FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
>                         fwts_uefi_print_status_info(fw, status);
>                         fwts_skipped(fw,
>                                 "EFI_INVALID_PARAMETER shall be returned, "
> @@ -941,8 +941,8 @@ static int setvariable_invalidattr(
>         ioret = ioctl(fd, EFI_RUNTIME_SET_VARIABLE, &setvariable);
>
>         if ((status == EFI_SUCCESS) && (ioret != -1)) {
> -               if ((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
> -                       (attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
> +               if ((attributes & FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
> +                       (attributes & FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
>                         (status != EFI_INVALID_PARAMETER)) {
>                         fwts_warning(fw,
>                                 "Both the EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS attribute and the "
> --
> 1.7.9.5
>
>

Acked-by: Keng-Yu Lin <kengyu@canonical.com>
Alex Hung Aug. 29, 2014, 6:29 a.m. UTC | #2
On 08/29/2014 10:47 AM, Ivan Hu wrote:
> CID 1232806, CID1232805: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
> always true regardless of the values of its operand.
> 
> Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
> ---
>  src/uefi/uefirtvariable/uefirtvariable.c |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/src/uefi/uefirtvariable/uefirtvariable.c b/src/uefi/uefirtvariable/uefirtvariable.c
> index 46c7f0e..f0fd0ce 100644
> --- a/src/uefi/uefirtvariable/uefirtvariable.c
> +++ b/src/uefi/uefirtvariable/uefirtvariable.c
> @@ -781,9 +781,9 @@ static int setvariable_insertvariable(
>  
>  	if (ioret == -1) {
>  		if ((status == EFI_INVALID_PARAMETER) &&
> -			((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
> -			(attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
> -			(attributes | FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
> +			((attributes & FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
> +			(attributes & FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
> +			(attributes & FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
>  			fwts_uefi_print_status_info(fw, status);
>  			fwts_skipped(fw,
>  				"EFI_INVALID_PARAMETER shall be returned, "
> @@ -941,8 +941,8 @@ static int setvariable_invalidattr(
>  	ioret = ioctl(fd, EFI_RUNTIME_SET_VARIABLE, &setvariable);
>  
>  	if ((status == EFI_SUCCESS) && (ioret != -1)) {
> -		if ((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
> -			(attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
> +		if ((attributes & FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
> +			(attributes & FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
>  			(status != EFI_INVALID_PARAMETER)) {
>  			fwts_warning(fw,
>  				"Both the EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS attribute and the "
> 

Acked-by: Alex Hung <alex.hung@canonical.com>
Colin Ian King Aug. 29, 2014, 6:37 a.m. UTC | #3
On 29/08/14 03:47, Ivan Hu wrote:
> CID 1232806, CID1232805: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
> always true regardless of the values of its operand.
> 
> Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
> ---
>  src/uefi/uefirtvariable/uefirtvariable.c |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/src/uefi/uefirtvariable/uefirtvariable.c b/src/uefi/uefirtvariable/uefirtvariable.c
> index 46c7f0e..f0fd0ce 100644
> --- a/src/uefi/uefirtvariable/uefirtvariable.c
> +++ b/src/uefi/uefirtvariable/uefirtvariable.c
> @@ -781,9 +781,9 @@ static int setvariable_insertvariable(
>  
>  	if (ioret == -1) {
>  		if ((status == EFI_INVALID_PARAMETER) &&
> -			((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
> -			(attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
> -			(attributes | FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
> +			((attributes & FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
> +			(attributes & FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
> +			(attributes & FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
>  			fwts_uefi_print_status_info(fw, status);
>  			fwts_skipped(fw,
>  				"EFI_INVALID_PARAMETER shall be returned, "
> @@ -941,8 +941,8 @@ static int setvariable_invalidattr(
>  	ioret = ioctl(fd, EFI_RUNTIME_SET_VARIABLE, &setvariable);
>  
>  	if ((status == EFI_SUCCESS) && (ioret != -1)) {
> -		if ((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
> -			(attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
> +		if ((attributes & FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
> +			(attributes & FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
>  			(status != EFI_INVALID_PARAMETER)) {
>  			fwts_warning(fw,
>  				"Both the EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS attribute and the "
> 

Thanks Ivan for fixing this.

Acked-by: Colin Ian King <colin.king@canonical.com>
diff mbox

Patch

diff --git a/src/uefi/uefirtvariable/uefirtvariable.c b/src/uefi/uefirtvariable/uefirtvariable.c
index 46c7f0e..f0fd0ce 100644
--- a/src/uefi/uefirtvariable/uefirtvariable.c
+++ b/src/uefi/uefirtvariable/uefirtvariable.c
@@ -781,9 +781,9 @@  static int setvariable_insertvariable(
 
 	if (ioret == -1) {
 		if ((status == EFI_INVALID_PARAMETER) &&
-			((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
-			(attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
-			(attributes | FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
+			((attributes & FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
+			(attributes & FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
+			(attributes & FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
 			fwts_uefi_print_status_info(fw, status);
 			fwts_skipped(fw,
 				"EFI_INVALID_PARAMETER shall be returned, "
@@ -941,8 +941,8 @@  static int setvariable_invalidattr(
 	ioret = ioctl(fd, EFI_RUNTIME_SET_VARIABLE, &setvariable);
 
 	if ((status == EFI_SUCCESS) && (ioret != -1)) {
-		if ((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
-			(attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
+		if ((attributes & FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
+			(attributes & FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
 			(status != EFI_INVALID_PARAMETER)) {
 			fwts_warning(fw,
 				"Both the EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS attribute and the "