diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/Makefile.in | 2 | ||||
-rw-r--r-- | source3/libsmb/smb_share_modes.c | 21 |
2 files changed, 12 insertions, 11 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index 5e81ccea66..07994ea3ac 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -517,7 +517,7 @@ LIBSMBCLIENT_OBJ = libsmb/libsmbclient.o libsmb/libsmb_compat.o \ $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) \ $(SECRETS_OBJ) $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) -LIBSMBSHAREMODES_OBJ = libsmb/smb_share_modes.o tdb/tdb.o +LIBSMBSHAREMODES_OBJ = libsmb/smb_share_modes.o tdb/tdb.o tdb/spinlock.o CAC_OBJ = $(LIBSMBCLIENT_OBJ) \ libmsrpc/libmsrpc.o libmsrpc/libmsrpc_internal.o \ diff --git a/source3/libsmb/smb_share_modes.c b/source3/libsmb/smb_share_modes.c index 180b5b4bfd..1c95fe1a30 100644 --- a/source3/libsmb/smb_share_modes.c +++ b/source3/libsmb/smb_share_modes.c @@ -22,13 +22,18 @@ #include "includes.h" #include "smb_share_modes.h" +/* Remove the paranoid malloc checker. */ +#ifdef malloc +#undef malloc +#endif + /* * open/close sharemode database. */ struct smbdb_ctx *smb_share_mode_db_open(const char *db_path) { - struct smbdb_ctx *smb_db = SMB_MALLOC_P(struct smbdb_ctx); + struct smbdb_ctx *smb_db = (struct smbdb_ctx *)malloc(sizeof(struct smbdb_ctx)); if (!smb_db) { return NULL; @@ -36,11 +41,7 @@ struct smbdb_ctx *smb_share_mode_db_open(const char *db_path) memset(smb_db, '\0', sizeof(struct smbdb_ctx)); - if (!db_path) { - db_path = lock_path("locking.tdb"); - } - - smb_db->smb_tdb = tdb_open_log(db_path, + smb_db->smb_tdb = tdb_open(db_path, 0, TDB_DEFAULT|TDB_CLEAR_IF_FIRST, O_RDWR|O_CREAT, 0644); @@ -184,7 +185,7 @@ int smb_get_share_mode_entries(struct smbdb_ctx *db_ctx, return 0; } - list = SMB_MALLOC_ARRAY(struct smb_share_mode_entry, num_share_modes); + list = (struct smb_share_mode_entry *)malloc(sizeof(struct smb_share_mode_entry)*num_share_modes); if (!list) { free(db_data.dptr); return -1; @@ -247,7 +248,7 @@ int smb_create_share_mode_entry(struct smbdb_ctx *db_ctx, db_data = tdb_fetch(db_ctx->smb_tdb, locking_key); if (!db_data.dptr) { /* We must create the entry. */ - db_data.dptr = SMB_MALLOC(sizeof(struct locking_data) + sizeof(share_mode_entry) + strlen(filename) + 1); + db_data.dptr = malloc(sizeof(struct locking_data) + sizeof(share_mode_entry) + strlen(filename) + 1); if (!db_data.dptr) { return -1; } @@ -270,7 +271,7 @@ int smb_create_share_mode_entry(struct smbdb_ctx *db_ctx, } /* Entry exists, we must add a new entry. */ - new_data_p = SMB_MALLOC(db_data.dsize + sizeof(share_mode_entry)); + new_data_p = malloc(db_data.dsize + sizeof(share_mode_entry)); if (!new_data_p) { free(db_data.dptr); return -1; @@ -345,7 +346,7 @@ int smb_delete_share_mode_entry(struct smbdb_ctx *db_ctx, } /* More than one - allocate a new record minus the one we'll delete. */ - new_data_p = SMB_MALLOC(db_data.dsize - sizeof(share_mode_entry)); + new_data_p = malloc(db_data.dsize - sizeof(share_mode_entry)); if (!new_data_p) { free(db_data.dptr); return -1; |