[SCM] Samba Shared Repository - branch master updated
Noel Power
npower at samba.org
Wed Jul 3 10:52:02 UTC 2019
The branch, master has been updated
via fa2d5b3daa0 lib: Fix return of server_id_db_prune_name()
via f4430086fa2 tdb: Adapt _tdb_transaction_cancel() to README.Coding
via 4ef5a42ca20 tdb: Adapt tdb_rescue() to README.Coding
via c3bad08e2b0 lib/krb5_wrap: Fix leaking using mkstemp
from 9b017ab0465 smbd: Simplify filename_convert_internal()
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit fa2d5b3daa0eaae41e2c2348cb2a81adf9da3b62
Author: Volker Lendecke <vl at samba.org>
Date: Mon Jul 1 21:07:55 2019 +0200
lib: Fix return of server_id_db_prune_name()
The tdb routines return 0/-1 and return the specific error via
tdb_error(). server_id_db_prune_name() is expected to return an errno,
not 0/-1.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Noel Power <npower at samba.org>
Autobuild-User(master): Noel Power <npower at samba.org>
Autobuild-Date(master): Wed Jul 3 10:51:32 UTC 2019 on sn-devel-184
commit f4430086fa2345c9ccf94644d92c08fd47f6a493
Author: Volker Lendecke <vl at samba.org>
Date: Mon Jul 1 21:02:21 2019 +0200
tdb: Adapt _tdb_transaction_cancel() to README.Coding
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Noel Power <npower at samba.org>
commit 4ef5a42ca2025b10674a4800d471ea29735c0906
Author: Volker Lendecke <vl at samba.org>
Date: Mon Jul 1 21:00:23 2019 +0200
tdb: Adapt tdb_rescue() to README.Coding
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Noel Power <npower at samba.org>
commit c3bad08e2b0913e5e49ffadb4780bb51154a3215
Author: Noel Power <noel.power at suse.com>
Date: Tue Jul 2 09:29:47 2019 +0100
lib/krb5_wrap: Fix leaking using mkstemp
commit: 8b92539997a9df8e0d217790fd82fc8f59ea50cc introduced a leak
by replacing mktemp with mkstemp (mkstemp returns an open fd)
Signed-off-by: Noel Power <noel.power at suse.com>
Reviewed-by: Andreas Schneider <asn at samba.org>
-----------------------------------------------------------------------
Summary of changes:
lib/krb5_wrap/krb5_samba.c | 7 +++++--
lib/tdb/common/rescue.c | 2 +-
lib/tdb/common/transaction.c | 2 +-
lib/util/server_id_db.c | 7 ++++++-
4 files changed, 13 insertions(+), 5 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c
index 37257ddfe03..72889fffcf0 100644
--- a/lib/krb5_wrap/krb5_samba.c
+++ b/lib/krb5_wrap/krb5_samba.c
@@ -2001,6 +2001,7 @@ krb5_error_code smb_krb5_kinit_keyblock_ccache(krb5_context ctx,
char tmp_name[sizeof(SMB_CREDS_KEYTAB)];
krb5_keytab_entry entry;
krb5_keytab keytab;
+ int tmpfd;
mode_t mask;
memset(&entry, 0, sizeof(entry));
@@ -2009,11 +2010,13 @@ krb5_error_code smb_krb5_kinit_keyblock_ccache(krb5_context ctx,
memcpy(tmp_name, SMB_CREDS_KEYTAB, sizeof(SMB_CREDS_KEYTAB));
mask = umask(S_IRWXO | S_IRWXG);
- mkstemp(tmp_name);
+ tmpfd = mkstemp(tmp_name);
umask(mask);
- if (tmp_name[0] == 0) {
+ if (tmpfd == -1) {
+ DBG_ERR("Failed to mkstemp %s\n", tmp_name);
return KRB5_KT_BADNAME;
}
+ close(tmpfd);
code = krb5_kt_resolve(ctx, tmp_name, &keytab);
if (code) {
return code;
diff --git a/lib/tdb/common/rescue.c b/lib/tdb/common/rescue.c
index 7e6580957bb..e608db41dea 100644
--- a/lib/tdb/common/rescue.c
+++ b/lib/tdb/common/rescue.c
@@ -300,7 +300,7 @@ _PUBLIC_ int tdb_rescue(struct tdb_context *tdb,
qsort(found.arr, found.num, sizeof(found.arr[0]), cmp_key);
}
- for (i = 0; found.arr && i < found.num; ) {
+ for (i = 0; (found.arr != NULL) && i < found.num; ) {
unsigned int num, num_in_hash = 0;
/* How many are identical? */
diff --git a/lib/tdb/common/transaction.c b/lib/tdb/common/transaction.c
index 06710896b6b..e9b0b26ea59 100644
--- a/lib/tdb/common/transaction.c
+++ b/lib/tdb/common/transaction.c
@@ -610,7 +610,7 @@ static int _tdb_transaction_cancel(struct tdb_context *tdb)
/* free all the transaction blocks */
for (i=0;i<tdb->transaction->num_blocks;i++) {
- if (tdb->transaction->blocks &&
+ if ((tdb->transaction->blocks != NULL) &&
tdb->transaction->blocks[i] != NULL) {
free(tdb->transaction->blocks[i]);
}
diff --git a/lib/util/server_id_db.c b/lib/util/server_id_db.c
index bb61f316d29..17b157706b4 100644
--- a/lib/util/server_id_db.c
+++ b/lib/util/server_id_db.c
@@ -184,7 +184,12 @@ int server_id_db_prune_name(struct server_id_db *db, const char *name,
tdb_chainunlock(tdb, key);
- return ret;
+ if (ret == -1) {
+ enum TDB_ERROR err = tdb_error(tdb);
+ return map_unix_error_from_tdb(err);
+ }
+
+ return 0;
}
int server_id_db_remove(struct server_id_db *db, const char *name)
--
Samba Shared Repository
More information about the samba-cvs
mailing list