From 4c3aea3f62a76fa62ead66d64941156375fc4501 Mon Sep 17 00:00:00 2001 From: SATOH Fumiyasu Date: Wed, 17 Dec 2008 00:54:30 +0900 Subject: commit b520befe6f51644d20434add9864d7a2fa30aa2e Author: SATOH Fumiyasu 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 --- source3/include/libsmb_internal.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'source3/include') diff --git a/source3/include/libsmb_internal.h b/source3/include/libsmb_internal.h index 3b909d13b9..b488116939 100644 --- a/source3/include/libsmb_internal.h +++ b/source3/include/libsmb_internal.h @@ -113,18 +113,19 @@ struct SMBC_internal_data { /* True when this handle is initialized */ bool initialized; - /* dirent pointer location - * + /* dirent pointer location */ + struct smbc_dirent dirent; + /* * Leave room for any urlencoded filename and the comment field. * - * We really should use sizeof(struct smbc_dirent) plus (NAME_MAX * 3) - * plus whatever the max length of a comment is, plus a couple of null - * terminators (one after the filename, one after the comment). + * We use (NAME_MAX * 3) plus whatever the max length of a comment is, + * plus a couple of null terminators (one after the filename, + * one after the comment). * * According to , NAME_MAX is 255. Is it longer * anyplace else? */ - char dirent[1024]; + char _dirent_name[1024]; /* * server connection list -- cgit