uefirtvariable: fix the wrong operator used, coverity scan error

Bug #1362893 reported by Ivan Hu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Firmware Test Suite
Fix Released
Medium
Ivan Hu

Bug Description

*** CID 1232806: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
/src/uefi/uefirtvariable/uefirtvariable.c: 783 in setvariable_insertvariable()
777 setvariable.DataSize = datasize;
778 setvariable.Data = data;
779 setvariable.status = &status;
780 ioret = ioctl(fd, EFI_RUNTIME_SET_VARIABLE, &setvariable);
781
782 if (ioret == -1) {
>>> CID 1232806: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
>>> "attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS" is always 1/true regardless of the values of its operand. This occurs as the logical first operand of '||'.
783 if ((status == EFI_INVALID_PARAMETER) &&
784 ((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) ||
785 (attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) ||
786 (attributes | FWTS_UEFI_VARIABLE_APPEND_WRITE))) {
787 fwts_uefi_print_status_info(fw, status);
788 fwts_skipped(fw,

*** CID 1232805: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
/src/uefi/uefirtvariable/uefirtvariable.c: 944 in setvariable_invalidattr()
938 setvariable.Data = data;
939 setvariable.status = &status;
940
941 ioret = ioctl(fd, EFI_RUNTIME_SET_VARIABLE, &setvariable);
942
943 if ((status == EFI_SUCCESS) && (ioret != -1)) {
>>> CID 1232805: Wrong operator used (CONSTANT_EXPRESSION_RESULT)
>>> "attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS" is always 1/true regardless of the values of its operand. This occurs as the logical first operand of '&&'.
944 if ((attributes | FWTS_UEFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) &&
945 (attributes | FWTS_UEFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) &&
946 (status != EFI_INVALID_PARAMETER)) {
947 fwts_warning(fw,
948 "Both the EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS attribute and the "
949 "EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS attribute are set "

Ivan Hu (ivan.hu)
Changed in fwts:
assignee: nobody → Ivan Hu (ivan.hu)
importance: Undecided → Medium
Ivan Hu (ivan.hu)
Changed in fwts:
status: New → In Progress
Revision history for this message
Colin Ian King (colin-king) wrote :

Fix committed, commit b3e28e89d0a4414898c56c36bf5e911951b0f509

Changed in fwts:
status: In Progress → Fix Committed
Ivan Hu (ivan.hu)
Changed in fwts:
milestone: none → 14.09.00
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.