diff options
author | Marc VanHeyningen <marc.vanheyningen@isilon.com> | 2009-05-05 22:07:40 +0000 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2009-06-02 12:41:57 +0200 |
commit | 01d6dc39121c884b82fd591b5e05e65b05357746 (patch) | |
tree | c58ee784e4d7b7eea84fb582d32eeb78ea175b52 /source | |
parent | 38819b522f39f2c94e50e86f48c856ab7a4a576a (diff) | |
download | samba-01d6dc39121c884b82fd591b5e05e65b05357746.tar.gz samba-01d6dc39121c884b82fd591b5e05e65b05357746.tar.xz samba-01d6dc39121c884b82fd591b5e05e65b05357746.zip |
s3: zero an uninitialized array
Invalid pointers were being dereferenced in lookup_sids causing
occasional seg faults.
Signed-off-by: Tim Prouty <tprouty@samba.org>
(cherry picked from commit 34ca12c9396f7c8475cd1525bdbc40021b0e533f)
(cherry picked from commit 9f5f8278b905b38d288618916c23f85373919b83)
Diffstat (limited to 'source')
-rw-r--r-- | source/passdb/lookup_sid.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/passdb/lookup_sid.c b/source/passdb/lookup_sid.c index d767fa4f50a..1971caeab86 100644 --- a/source/passdb/lookup_sid.c +++ b/source/passdb/lookup_sid.c @@ -468,12 +468,15 @@ static bool lookup_rids(TALLOC_CTX *mem_ctx, const DOM_SID *domain_sid, sid_string_dbg(domain_sid))); if (num_rids) { - *names = TALLOC_ARRAY(mem_ctx, const char *, num_rids); + *names = TALLOC_ZERO_ARRAY(mem_ctx, const char *, num_rids); *types = TALLOC_ARRAY(mem_ctx, enum lsa_SidType, num_rids); if ((*names == NULL) || (*types == NULL)) { return false; } + + for (i = 0; i < num_rids; i++) + (*types)[i] = SID_NAME_UNKNOWN; } else { *names = NULL; *types = NULL; |