The branch, master has been updated via 46a41d0 s3: Fix Coverity ID 241320 Array compared against 0 via 87542e1 s3: Make SMB_QUERY_FILE_UNIX_BASIC's devno work for files from e945511 move the dbwrap library to the top level
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 46a41d0fbdd7b4524313c9299851ad7a63244763 Author: Volker Lendecke <v...@samba.org> Date: Wed May 9 16:36:55 2012 +0200 s3: Fix Coverity ID 241320 Array compared against 0 domain->alt_name is an array, not a pointer Autobuild-User: Volker Lendecke <v...@samba.org> Autobuild-Date: Mon May 14 15:11:47 CEST 2012 on sn-devel-104 commit 87542e1310cfa90e5af0b00d77def969c7b38aef Author: Volker Lendecke <v...@samba.org> Date: Fri May 11 13:31:36 2012 +0200 s3: Make SMB_QUERY_FILE_UNIX_BASIC's devno work for files According to susv3, st_rdev is valid exactly for char and block devices. Normal files have st_dev set. ----------------------------------------------------------------------- Summary of changes: source3/smbd/trans2.c | 11 +++++++++-- source3/winbindd/winbindd_misc.c | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 5cfbc31..590ee5b 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -3959,6 +3959,7 @@ static char *store_file_unix_basic(connection_struct *conn, const SMB_STRUCT_STAT *psbuf) { uint64_t file_index = get_FileIndex(conn, psbuf); + dev_t devno; DEBUG(10,("store_file_unix_basic: SMB_QUERY_FILE_UNIX_BASIC\n")); DEBUG(4,("store_file_unix_basic: st_mode=%o\n",(int)psbuf->st_ex_mode)); @@ -3985,11 +3986,17 @@ static char *store_file_unix_basic(connection_struct *conn, SIVAL(pdata,0,unix_filetype(psbuf->st_ex_mode)); pdata += 4; - SIVAL(pdata,0,unix_dev_major(psbuf->st_ex_rdev)); /* Major device number if type is device */ + if (S_ISBLK(psbuf->st_ex_mode) || S_ISCHR(psbuf->st_ex_mode)) { + devno = psbuf->st_ex_rdev; + } else { + devno = psbuf->st_ex_dev; + } + + SIVAL(pdata,0,unix_dev_major(devno)); /* Major device number if type is device */ SIVAL(pdata,4,0); pdata += 8; - SIVAL(pdata,0,unix_dev_minor(psbuf->st_ex_rdev)); /* Minor device number if type is device */ + SIVAL(pdata,0,unix_dev_minor(devno)); /* Minor device number if type is device */ SIVAL(pdata,4,0); pdata += 8; diff --git a/source3/winbindd/winbindd_misc.c b/source3/winbindd/winbindd_misc.c index 6f87302..4759a17 100644 --- a/source3/winbindd/winbindd_misc.c +++ b/source3/winbindd/winbindd_misc.c @@ -200,7 +200,7 @@ enum winbindd_result winbindd_dual_list_trusted_domains(struct winbindd_domain * if (state->request->data.list_all_domains && !have_own_domain) { extra_data = talloc_asprintf_append_buffer( extra_data, "%s\\%s\\%s\n", domain->name, - domain->alt_name ? domain->alt_name : domain->name, + domain->alt_name[0] ? domain->alt_name : domain->name, sid_string_talloc(state->mem_ctx, &domain->sid)); } -- Samba Shared Repository