forked from Lainports/freebsd-ports
The security defects addressed in these fixes are described at https://www.samba.org/samba/history/samba-4.16.11.html PR: 273595 Approved by: maintainer timeout
57 lines
1.5 KiB
Diff
57 lines
1.5 KiB
Diff
From 60f6d69f42818c5c49c35390db9a88d79ff10d8b Mon Sep 17 00:00:00 2001
|
|
From: Ralph Boehme <slow@samba.org>
|
|
Date: Tue, 20 Jun 2023 11:05:22 +0200
|
|
Subject: [PATCH 18/21] CVE-2023-34968: mdssvc: switch to doing an early return
|
|
|
|
Just reduce indentation of the code handling the success case. No change in
|
|
behaviour.
|
|
|
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15388
|
|
|
|
Signed-off-by: Ralph Boehme <slow@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
source3/rpc_server/mdssvc/mdssvc.c | 26 ++++++++++++++------------
|
|
1 file changed, 14 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/source3/rpc_server/mdssvc/mdssvc.c b/source3/rpc_server/mdssvc/mdssvc.c
|
|
index 199a1d5a89a..82d46987e40 100644
|
|
--- a/source3/rpc_server/mdssvc/mdssvc.c
|
|
+++ b/source3/rpc_server/mdssvc/mdssvc.c
|
|
@@ -1797,19 +1797,21 @@ bool mds_dispatch(struct mds_ctx *mds_ctx,
|
|
}
|
|
|
|
ok = slcmd->function(mds_ctx, query, reply);
|
|
- if (ok) {
|
|
- DBG_DEBUG("%s", dalloc_dump(reply, 0));
|
|
-
|
|
- len = sl_pack(reply,
|
|
- (char *)response_blob->spotlight_blob,
|
|
- response_blob->size);
|
|
- if (len == -1) {
|
|
- DBG_ERR("error packing Spotlight RPC reply\n");
|
|
- ok = false;
|
|
- goto cleanup;
|
|
- }
|
|
- response_blob->length = len;
|
|
+ if (!ok) {
|
|
+ goto cleanup;
|
|
+ }
|
|
+
|
|
+ DBG_DEBUG("%s", dalloc_dump(reply, 0));
|
|
+
|
|
+ len = sl_pack(reply,
|
|
+ (char *)response_blob->spotlight_blob,
|
|
+ response_blob->size);
|
|
+ if (len == -1) {
|
|
+ DBG_ERR("error packing Spotlight RPC reply\n");
|
|
+ ok = false;
|
|
+ goto cleanup;
|
|
}
|
|
+ response_blob->length = len;
|
|
|
|
cleanup:
|
|
talloc_free(query);
|
|
--
|
|
2.41.0
|
|
|