summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
authorSATOH Fumiyasu <fumiyas@osstech.jp>2008-12-17 00:54:30 +0900
committerDerrell Lipman <derrell.lipman@unwireduniverse.com>2008-12-16 12:20:40 -0500
commit4c3aea3f62a76fa62ead66d64941156375fc4501 (patch)
tree51564a9c06d80eda0ea4488dbcad2094561305db /source3/libsmb
parente48a5cd5d4fc2626b09af16a0ac68c638d081437 (diff)
downloadsamba-4c3aea3f62a76fa62ead66d64941156375fc4501.tar.gz
samba-4c3aea3f62a76fa62ead66d64941156375fc4501.tar.bz2
samba-4c3aea3f62a76fa62ead66d64941156375fc4501.zip
commit b520befe6f51644d20434add9864d7a2fa30aa2e
Author: SATOH Fumiyasu <fumiyas@osstech.co.jp> Date: Wed Dec 17 00:42:25 2008 +0900 libsmbclient: Fix SIGBUS on non-x86 CPUs We must align the struct smbc_dirent in the struct SMBC_internal_data because the struct smbc_dirent has numeric values that require alignment. Signed-off-by: Derrell Lipman <derrell.lipman@unwireduniverse.com>
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/libsmb_dir.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/source3/libsmb/libsmb_dir.c b/source3/libsmb/libsmb_dir.c
index d12e7487f6..770014b6f6 100644
--- a/source3/libsmb/libsmb_dir.c
+++ b/source3/libsmb/libsmb_dir.c
@@ -976,9 +976,8 @@ SMBC_readdir_ctx(SMBCCTX *context,
}
- dirp = (struct smbc_dirent *)context->internal->dirent;
- maxlen = (sizeof(context->internal->dirent) -
- sizeof(struct smbc_dirent));
+ dirp = &context->internal->dirent;
+ maxlen = sizeof(context->internal->_dirent_name);
smbc_readdir_internal(context, dirp, dirent, maxlen);
@@ -1049,9 +1048,8 @@ SMBC_getdents_ctx(SMBCCTX *context,
}
/* Do urlencoding of next entry, if so selected */
- dirent = (struct smbc_dirent *)context->internal->dirent;
- maxlen = (sizeof(context->internal->dirent) -
- sizeof(struct smbc_dirent));
+ dirent = &context->internal->dirent;
+ maxlen = sizeof(context->internal->_dirent_name);
smbc_readdir_internal(context, dirent,
dirlist->dirent, maxlen);