diff options
author | Herb Lewis <herb@samba.org> | 2004-05-22 05:01:25 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:51:47 -0500 |
commit | 99d8aa8b17d6b6babdffbaf4f343375d58a88b5b (patch) | |
tree | 4fbf6176181b8f10f575772cc8fab94fc961684c | |
parent | 331d4fc58c9a7dee70f85d3fe03738bd9b43dc36 (diff) | |
download | samba-99d8aa8b17d6b6babdffbaf4f343375d58a88b5b.tar.gz samba-99d8aa8b17d6b6babdffbaf4f343375d58a88b5b.tar.bz2 samba-99d8aa8b17d6b6babdffbaf4f343375d58a88b5b.zip |
r814: conn is 0 during ioctl (at least during smbtorture IOCTL test)
fix smbd panic
(This used to be commit 61da0bb1f6ea22df78ea7bd22a740c5868f62591)
-rw-r--r-- | source3/smbd/process.c | 2 | ||||
-rw-r--r-- | source3/smbd/reply.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 283b791afd..12fd809b78 100644 --- a/source3/smbd/process.c +++ b/source3/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/source3/smbd/reply.c b/source3/smbd/reply.c index 2046f2370a..560208ae15 100644 --- a/source3/smbd/reply.c +++ b/source3/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; } } |