mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
misra: address violation of MISRA C Rule 10.1
Rule 10.1: Operands shall not be of an
inappropriate essential type
The following are non-compliant:
- boolean used as a numeric value.
The result of the '__isleap' macro is a boolean.
Suppress analyser tool finding.
The result of 'NOW() > timeout' is a boolean,
which is compared to a numeric value. Fix this.
Regression was introdiced by commit:
be7f047e08 (xen/arm: smmuv3: Replace linux functions with xen functions.)
Remove pointless cast '(const unsigned short int *)'.
The source array and the destination pointer are both of the same type.
Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
34317c5082
commit
2c5b7446a7
3 files changed
+11
-2
No files matched your search
@@ -116,6 +116,14 @@
|
||||
},
|
||||
{
|
||||
"id": "SAF-14-safe",
|
||||
"analyser": {
|
||||
"eclair": "MC3A2.R10.1"
|
||||
},
|
||||
"name": "Rule 10.1: use boolean as an array index",
|
||||
"text": "Using a boolean type as an array index is safe."
|
||||
},
|
||||
{
|
||||
"id": "SAF-15-safe",
|
||||
"analyser": {},
|
||||
"name": "Sentinel",
|
||||
"text": "Next ID to be used"
|
||||
|
||||
+2
-1
@@ -84,7 +84,8 @@ struct tm gmtime(unsigned long t)
|
||||
}
|
||||
tbuf.tm_year = y - 1900;
|
||||
tbuf.tm_yday = days;
|
||||
ip = (const unsigned short int *)__mon_lengths[__isleap(y)];
|
||||
/* SAF-14-safe use boolean as an array index */
|
||||
ip = __mon_lengths[__isleap(y)];
|
||||
for ( y = 0; days >= ip[y]; ++y )
|
||||
days -= ip[y];
|
||||
tbuf.tm_mon = y;
|
||||
|
||||
@@ -315,7 +315,7 @@ static int queue_poll_cons(struct arm_smmu_queue *q, bool sync, bool wfe)
|
||||
|
||||
while (queue_sync_cons_in(q),
|
||||
(sync ? !queue_empty(&q->llq) : queue_full(&q->llq))) {
|
||||
if ((NOW() > timeout) > 0)
|
||||
if (NOW() > timeout)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
if (wfe) {
|
||||
|
||||