From 6491a956ef0b6a54b28887521f75e2f54f18a6d2 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 2 Jul 1998 22:23:56 +0000 Subject: nttrans.c: More NT SMB stuff. shmem_sysv.c: Fix for shared memory problems on several systems, Second and subsequent use of shmget should use zero as the size. Fix from Veselin Terzic Jeremy. (This used to be commit 1cd94b24592ca31ffae671acfd83b0d42b212cab) --- source3/locking/shmem_sysv.c | 11 +++++++++-- source3/smbd/nttrans.c | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/source3/locking/shmem_sysv.c b/source3/locking/shmem_sysv.c index 439d89c6e0..3466930f4c 100644 --- a/source3/locking/shmem_sysv.c +++ b/source3/locking/shmem_sysv.c @@ -641,8 +641,15 @@ struct shmem_ops *sysv_shm_open(int ronly) } } - /* try to use an existing key */ - shm_id = shmget(SHMEM_KEY, shm_size, 0); + /* + * Try to use an existing key. Note that + * in order to use an existing key successfully + * size must be zero else shmget returns EINVAL. + * Thanks to Veselin Terzic + * for pointing this out. + */ + + shm_id = shmget(SHMEM_KEY, 0, 0); /* if that failed then create one */ if (shm_id == -1) { diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index f6b5704681..5327502fd3 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -106,7 +106,7 @@ int reply_ntcreate_and_X(char *inbuf,char *outbuf,int length,int bufsize) ((uint32)sizeof(fname)-1)); int smb_ofun; int smb_open_mode; - int smb_attr = file_attributes & SAMBA_ATTRIBUTES_MASK; + int smb_attr = (file_attributes & SAMBA_ATTRIBUTES_MASK); /* Breakout the oplock request bits so we can set the reply bits separately. */ int oplock_request = flags & (REQUEST_OPLOCK|REQUEST_BATCH_OPLOCK); @@ -334,7 +334,7 @@ static int call_nt_transact_create(char *inbuf, char *outbuf, int bufsize, int c ((uint32)sizeof(fname)-1)); int smb_ofun; int smb_open_mode; - int smb_attr = file_attributes & SAMBA_ATTRIBUTES_MASK; + int smb_attr = (file_attributes & SAMBA_ATTRIBUTES_MASK); } /**************************************************************************** -- cgit