sssd/backport-UTILS-fixes-CWE-394.patch
zhouchenchen123 185506c7eb fix cwe-394
2022-12-20 22:49:29 +08:00

56 lines
2.3 KiB
Diff

From 60c30a3fdc5207d3c009b00384190dc75b153d49 Mon Sep 17 00:00:00 2001
From: Alexey Tikhonov <atikhono@redhat.com>
Date: Tue, 22 Mar 2022 11:55:58 +0100
Subject: [PATCH] UTILS: fixes CWE-394
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
like:
```
src/responder/nss/nsssrv.c:339: negative_return_fn: Function "sss_mmap_cache_init(nctx, "passwd", nctx->mc_uid, nctx->mc_gid, SSS_MC_PASSWD, mc_size_passwd * 26214UL, (time_t)memcache_timeout, &nctx->pwd_mc_ctx)" returns a negative number.
src/responder/nss/nsssrv.c:339: assign: Assigning: "ret" = "sss_mmap_cache_init(nctx, "passwd", nctx->mc_uid, nctx->mc_gid, SSS_MC_PASSWD, mc_size_passwd * 26214UL, (time_t)memcache_timeout, &nctx->pwd_mc_ctx)".
src/responder/nss/nsssrv.c:346: negative_returns: "ret" is passed to a parameter that cannot be negative.
# 344| &nctx->pwd_mc_ctx);
# 345| if (ret) {
# 346|-> DEBUG(SSSDBG_CRIT_FAILURE,
# 347| "Failed to initialize passwd mmap cache: '%s'\n",
# 348| sss_strerror(ret));
```
Reviewed-by: Justin Stephenson <jstephen@redhat.com>
Reviewed-by: Tomáš Halman <thalman@redhat.com>
---
src/util/util_lock.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/util/util_lock.c b/src/util/util_lock.c
index 62c80b296..9f2885805 100644
--- a/src/util/util_lock.c
+++ b/src/util/util_lock.c
@@ -63,8 +63,9 @@ errno_t sss_br_lock_file(int fd, size_t start, size_t len,
if (retries_left - 1 > 0) {
ret = usleep(wait);
if (ret == -1) {
+ ret = errno;
DEBUG(SSSDBG_MINOR_FAILURE,
- "usleep() failed -> ignoring\n");
+ "usleep() failed with %d -> ignoring\n", ret);
}
}
} else {
@@ -76,6 +77,9 @@ errno_t sss_br_lock_file(int fd, size_t start, size_t len,
} else if (ret == 0) {
/* File successfully locked */
break;
+ } else {
+ DEBUG(SSSDBG_MINOR_FAILURE,
+ "Unexpected fcntl() return code: %d\n", ret);
}
}
if (retries_left == 0) {
--
2.32.0.windows.1