summaryrefslogtreecommitdiff
path: root/source4/dsdb
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2013-08-18 19:37:56 +0000
committerAndrew Bartlett <abartlet@samba.org>2013-08-19 11:08:21 +1200
commit6417d9e0355f840ca4cf3b740ad5aabfc534d834 (patch)
tree7a294c78c8fdcd541a39fd6cfd17f1ffa486efb3 /source4/dsdb
parent8c4e6f0cba164c91661a654e2ccc13c265a06953 (diff)
downloadsamba-6417d9e0355f840ca4cf3b740ad5aabfc534d834.tar.gz
samba-6417d9e0355f840ca4cf3b740ad5aabfc534d834.tar.bz2
samba-6417d9e0355f840ca4cf3b740ad5aabfc534d834.zip
samdb: Fix CID 1034910 Dereference before null check
strncmp("tdb://", sam_name, 6) dereferences sam_name. Check for NULL before that. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/dsdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/partition_metadata.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/partition_metadata.c b/source4/dsdb/samdb/ldb_modules/partition_metadata.c
index 5826ac2ee1..c67d6cf18f 100644
--- a/source4/dsdb/samdb/ldb_modules/partition_metadata.c
+++ b/source4/dsdb/samdb/ldb_modules/partition_metadata.c
@@ -199,13 +199,13 @@ static int partition_metadata_open(struct ldb_module *module, bool create)
}
sam_name = (const char *)ldb_get_opaque(ldb, "ldb_url");
- if (strncmp("tdb://", sam_name, 6) == 0) {
- sam_name += 6;
- }
if (!sam_name) {
talloc_free(tmp_ctx);
return ldb_operr(ldb);
}
+ if (strncmp("tdb://", sam_name, 6) == 0) {
+ sam_name += 6;
+ }
filename = talloc_asprintf(tmp_ctx, "%s.d/metadata.tdb", sam_name);
if (!filename) {
talloc_free(tmp_ctx);