diff options
author | Jeremy Allison <jra@samba.org> | 2005-12-03 06:46:46 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:05:42 -0500 |
commit | d1f91f7c723733113b4e9792042101c80dfc064c (patch) | |
tree | 51943d49138b8e91334756ce602849ed27bbb1c5 /source3/libsmb | |
parent | 03b77baa6f20b8eaa450e67b0e0e1ad6f5b686be (diff) | |
download | samba-d1f91f7c723733113b4e9792042101c80dfc064c.tar.gz samba-d1f91f7c723733113b4e9792042101c80dfc064c.tar.bz2 samba-d1f91f7c723733113b4e9792042101c80dfc064c.zip |
r12043: It's amazing the warnings you find when compiling on a 64-bit
box with gcc4 and -O6...
Fix a bunch of C99 dereferencing type-punned pointer will break
strict-aliasing rules errors. Also added prs_int32 (not uint32...)
as it's needed in one place. Find places where prs_uint32 was being
used to marshall/unmarshall a time_t (a big no no on 64-bits).
More warning fixes to come.
Thanks to Volker for nudging me to compile like this.
Jeremy.
(This used to be commit c65b752604f8f58abc4e7ae8514dc2c7f086271c)
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/climessage.c | 2 | ||||
-rw-r--r-- | source3/libsmb/samlogon_cache.c | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/source3/libsmb/climessage.c b/source3/libsmb/climessage.c index f646096a4e..1aa659c1ba 100644 --- a/source3/libsmb/climessage.c +++ b/source3/libsmb/climessage.c @@ -85,7 +85,7 @@ int cli_message_text_build(struct cli_state *cli, char *msg, int len, int grp) p = smb_buf(cli->outbuf); *p++ = 1; - if ((lendos = (int)convert_string_allocate(NULL,CH_UNIX, CH_DOS, msg,len, (void **) &msgdos, True)) < 0 || !msgdos) { + if ((lendos = (int)convert_string_allocate(NULL,CH_UNIX, CH_DOS, msg,len, (void **)(void *)&msgdos, True)) < 0 || !msgdos) { DEBUG(3,("Conversion failed, sending message in UNIX charset\n")); SSVAL(p, 0, len); p += 2; memcpy(p, msg, len); diff --git a/source3/libsmb/samlogon_cache.c b/source3/libsmb/samlogon_cache.c index d0469a1a48..ef60055cf4 100644 --- a/source3/libsmb/samlogon_cache.c +++ b/source3/libsmb/samlogon_cache.c @@ -150,8 +150,12 @@ BOOL netsamlogon_cache_store( const char *username, NET_USER_INFO_3 *user ) prs_init( &ps, RPC_MAX_PDU_FRAG_LEN, mem_ctx, MARSHALL); - if ( !prs_uint32( "timestamp", &ps, 0, (uint32*)&t ) ) - return False; + { + uint32 ts; + if ( !prs_uint32( "timestamp", &ps, 0, &ts ) ) + return False; + t = (time_t)ts; + } if ( net_io_user_info3("", user, &ps, 0, 3, 0) ) { |