diff options
author | Volker Lendecke <vl@samba.org> | 2013-12-15 21:28:08 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2013-12-17 01:57:13 +0100 |
commit | ec270cf6a81d0c9349649ce0945d4da1df320871 (patch) | |
tree | 31e756e6c771a245ffba36fcc751c0e58fc0f825 /source4 | |
parent | e8b0726411213acb133a25c14ab42020e4a8de68 (diff) | |
download | samba-ec270cf6a81d0c9349649ce0945d4da1df320871.tar.gz samba-ec270cf6a81d0c9349649ce0945d4da1df320871.tar.xz samba-ec270cf6a81d0c9349649ce0945d4da1df320871.zip |
share_ldb: Fix CID 1138337 Dereference null return value
False positive, but this way we avoid another strchr
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source4')
-rw-r--r-- | source4/param/share_ldb.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source4/param/share_ldb.c b/source4/param/share_ldb.c index f4d02b295a..1473eb0ab3 100644 --- a/source4/param/share_ldb.c +++ b/source4/param/share_ldb.c @@ -62,20 +62,21 @@ static const char *sldb_string_option(struct share_config *scfg, const char *opt { struct ldb_message *msg; struct ldb_message_element *el; + const char *colon; if (scfg == NULL) return defval; msg = talloc_get_type(scfg->opaque, struct ldb_message); - if (strchr(opt_name, ':')) { - char *name, *p; + colon = strchr(opt_name, ':'); + if (colon != NULL) { + char *name; name = talloc_strdup(scfg, opt_name); if (!name) { return NULL; } - p = strchr(name, ':'); - *p = '-'; + name[colon-opt_name] = '-'; el = ldb_msg_find_element(msg, name); } else { |