summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerb Lewis <herb@samba.org>2004-05-22 05:01:25 +0000
committerHerb Lewis <herb@samba.org>2004-05-22 05:01:25 +0000
commitcfdaf9d608a4c0fe5da03d90568ac4efc4f80ee2 (patch)
treee8177fa42ed89639614fb798bc5ae3c6e17b47a3
parent74307ee187302c1612a3a68ccce58dbf325cc90b (diff)
downloadsamba-cfdaf9d608a4c0fe5da03d90568ac4efc4f80ee2.tar.gz
r814: conn is 0 during ioctl (at least during smbtorture IOCTL test)
fix smbd panic
-rw-r--r--source/smbd/process.c2
-rw-r--r--source/smbd/reply.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/source/smbd/process.c b/source/smbd/process.c
index 283b791afd0..12fd809b784 100644
--- a/source/smbd/process.c
+++ b/source/smbd/process.c
@@ -683,7 +683,7 @@ static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize
uint16 session_tag = (lp_security() == SEC_SHARE) ? UID_FIELD_INVALID : SVAL(inbuf,smb_uid);
connection_struct *conn = conn_find(SVAL(inbuf,smb_tid));
- DEBUG(3,("switch message %s (pid %d)\n",smb_fn_name(type),(int)pid));
+ DEBUG(3,("switch message %s (pid %d) conn 0x%x\n",smb_fn_name(type),(int)pid,(unsigned int)conn));
smb_dump(smb_fn_name(type), 1, inbuf, size);
if(global_oplock_break) {
diff --git a/source/smbd/reply.c b/source/smbd/reply.c
index 2046f2370a8..560208ae157 100644
--- a/source/smbd/reply.c
+++ b/source/smbd/reply.c
@@ -489,7 +489,9 @@ int reply_ioctl(connection_struct *conn,
}
SSVAL(p,0,fsp->rap_print_jobid); /* Job number */
srvstr_push(outbuf, p+2, global_myname(), 15, STR_TERMINATE|STR_ASCII);
- srvstr_push(outbuf, p+18, lp_servicename(SNUM(conn)), 13, STR_TERMINATE|STR_ASCII);
+ if (conn) {
+ srvstr_push(outbuf, p+18, lp_servicename(SNUM(conn)), 13, STR_TERMINATE|STR_ASCII);
+ }
break;
}
}