git: b4f8bd4de92b - stable/12 - libnetmap: reset errno in nmreq_register_decode()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 31 Dec 2022 12:43:30 UTC
The branch stable/12 has been updated by vmaffione: URL: https://cgit.FreeBSD.org/src/commit/?id=b4f8bd4de92b8a37bb99adc03c7232665aed6ce6 commit b4f8bd4de92b8a37bb99adc03c7232665aed6ce6 Author: Vincenzo Maffione <vmaffione@FreeBSD.org> AuthorDate: 2021-04-02 14:31:57 +0000 Commit: Vincenzo Maffione <vmaffione@FreeBSD.org> CommitDate: 2022-12-31 12:43:08 +0000 libnetmap: reset errno in nmreq_register_decode() The reset is necessary at the beginning of the function, because of the errno logic in the error path (set errno to EINVAL if not set). If errno is already set when calling the function, and the function fails, the previous errno value will be inherited. (cherry picked from commit ab639bb2873034786cd2ec4d2d9c4489fbf6f424) --- lib/libnetmap/nmreq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libnetmap/nmreq.c b/lib/libnetmap/nmreq.c index 7f4b2703d22d..31ddea91f6a5 100644 --- a/lib/libnetmap/nmreq.c +++ b/lib/libnetmap/nmreq.c @@ -257,6 +257,8 @@ nmreq_register_decode(const char **pifname, struct nmreq_register *r, struct nmc uint16_t nr_ringid; uint64_t nr_flags; + errno = 0; + /* fill the request */ p_state = P_START;