Catch static analysis errors.
The errors were squashed by `find -exec`.
Change-Id: I32bb7284f2ab70eee10ca6641e13f1cafa3bb27f
diff --git a/Makefile b/Makefile
index 36a66ea..bccceb5 100644
--- a/Makefile
+++ b/Makefile
@@ -48,22 +48,22 @@
@find src/ -name *.c -o -name *.cc -o -name *.h | xargs clang-format -style file -i
@find inc/ -name *.c -o -name *.cc -o -name *.h | xargs clang-format -style file -i
@find test/ -name *.c -o -name *.cc -o -name *.h | xargs clang-format -style file -i
- @find . \( -name *.gn -o -name *.gni \) -exec $(GN) format {} \;
+ @find . \( -name *.gn -o -name *.gni \) | xargs -n1 $(GN) format
# see .clang-tidy.
.PHONY: tidy
tidy: $(OUT_DIR)/build.ninja
@$(NINJA) -C $(OUT_DIR)
@echo "Tidying..."
- @find src/ \( -name *.c -o -name *.cc \) -exec clang-tidy -p $(OUT_DIR) -fix {} \;
- @find test/ \( -name *.c -o -name *.cc \) -exec clang-tidy -p $(OUT_DIR) -fix {} \;
+ @find src/ \( -name *.c -o -name *.cc \) | xargs clang-tidy -p $(OUT_DIR) -fix
+ @find test/ \( -name *.c -o -name *.cc \) | xargs clang-tidy -p $(OUT_DIR) -fix
.PHONY: check
check: $(OUT_DIR)/build.ninja
@$(NINJA) -C $(OUT_DIR)
@echo "Checking..."
- @find src/ \( -name *.c -o -name *.cc \) -exec clang-check -p $(OUT_DIR) -analyze {} \;
- @find test/ \( -name *.c -o -name *.cc \) -exec clang-check -p $(OUT_DIR) -analyze {} \;
+ @find src/ \( -name *.c -o -name *.cc \) | xargs clang-check -p $(OUT_DIR) -analyze
+ @find test/ \( -name *.c -o -name *.cc \) | xargs clang-check -p $(OUT_DIR) -analyze
.PHONY: license
license:
diff --git a/src/api.c b/src/api.c
index 11df107..1d44691 100644
--- a/src/api.c
+++ b/src/api.c
@@ -300,6 +300,14 @@
primary_ret =
HF_VCPU_RUN_RESPONSE(HF_VCPU_RUN_MESSAGE, 0, size);
ret = 0;
+ /*
+ * clang-tidy isn't able to prove that
+ * `from->id != HF_PRIMARY_VM_ID` so cover that specific case
+ * explicitly so as not to hide other possible bugs.
+ */
+ if (from->id == HF_PRIMARY_VM_ID) {
+ vcpu = 0;
+ }
goto out;
}
@@ -386,7 +394,6 @@
/* Return pending messages without blocking. */
if (vm->mailbox.state == mailbox_state_received) {
vm->mailbox.state = mailbox_state_read;
- block = false;
ret = HF_MAILBOX_RECEIVE_RESPONSE(vm->mailbox.recv_from_id,
vm->mailbox.recv_bytes);
goto out;