summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2016-09-08 15:18:39 +0200
committerVolker Lendecke <vl@samba.org>2016-09-09 11:58:07 +0200
commit4e9a55536f95bf417e94a5d4d8e9f24700fa72e7 (patch)
treea7533153bd8e4f0a51c2986468b8de731ee08e25
parent6601b35e840605192a33da2258a6b440f391f44e (diff)
downloadsamba-4e9a55536f95bf417e94a5d4d8e9f24700fa72e7.tar.gz
notifyd: Don't trust remote pointers
Not a security hole IMO: Only root can send us messages, that's at least our assumption. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
-rw-r--r--source3/smbd/notifyd/notifyd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/smbd/notifyd/notifyd.c b/source3/smbd/notifyd/notifyd.c
index ce2da547d5d..70f52cd7c83 100644
--- a/source3/smbd/notifyd/notifyd.c
+++ b/source3/smbd/notifyd/notifyd.c
@@ -1202,6 +1202,13 @@ static int notifyd_add_proxy_syswatches(struct db_record *rec,
uint32_t subdir_filter = instance->instance.subdir_filter;
int ret;
+ /*
+ * This is a remote database. Pointers that we were
+ * given don't make sense locally. Initialize to NULL
+ * in case sys_notify_watch fails.
+ */
+ instances[i].sys_watch = NULL;
+
ret = state->sys_notify_watch(
db, state->sys_notify_ctx, path,
&filter, &subdir_filter,