[PATCH uqmi v1] uqmi: avoid gcc false error reporting (storing the address of local variable 'complete' in '*req.complete')
Peter Seiderer
ps.report at gmx.net
Sun Mar 5 13:23:31 PST 2023
Avoid gcc false error reporting (req->complete is later reset to NULL
in case of use of local complete):
dev.c:217:23: error: storing the address of local variable 'complete' in '*req.complete' [-Werror=dangling-pointer=]
217 | req->complete = &complete;
| ~~~~~~~~~~~~~~^~~~~~~~~~~
Signed-off-by: Peter Seiderer <ps.report at gmx.net>
---
dev.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/dev.c b/dev.c
index bd10207..b8ac273 100644
--- a/dev.c
+++ b/dev.c
@@ -203,6 +203,15 @@ void qmi_request_cancel(struct qmi_dev *qmi, struct qmi_request *req)
__qmi_request_complete(qmi, req, NULL);
}
+/* avoid gcc false error reporting:
+ * dev.c:217:23: error: storing the address of local variable ‘complete’ in ‘*req.complete’ [-Werror=dangling-pointer=]
+ * 217 | req->complete = &complete;
+ * | ~~~~~~~~~~~~~~^~~~~~~~~~~
+ */
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdangling-pointer"
+#endif
int qmi_request_wait(struct qmi_dev *qmi, struct qmi_request *req)
{
bool complete = false;
@@ -231,6 +240,9 @@ int qmi_request_wait(struct qmi_dev *qmi, struct qmi_request *req)
return req->ret;
}
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#pragma GCC diagnostic pop
+#endif
struct qmi_connect_request {
struct qmi_request req;
--
2.39.2
More information about the openwrt-devel
mailing list