From 9273102ea54d010043e6fdfaf1c61116eb93562e Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 8 May 1998 01:23:11 +0000 Subject: smb.h: Supporting defines for NT trans calls. trans2.c: Paranoia bugfixes added when studying nttrans.c. Jeremy. (This used to be commit 94e70edef91c71703a7ebcdaf2b5a2bdce940a69) --- source3/smbd/trans2.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'source3/smbd/trans2.c') diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 75cf18785c..af70064ef4 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1787,8 +1787,10 @@ int reply_trans2(char *inbuf,char *outbuf,int length,int bufsize) if (num_params > total_params || num_data > total_data) exit_server("invalid params in reply_trans2"); - memcpy( params, smb_base(inbuf) + SVAL(inbuf, smb_psoff), num_params); - memcpy( data, smb_base(inbuf) + SVAL(inbuf, smb_dsoff), num_data); + if(params) + memcpy( params, smb_base(inbuf) + SVAL(inbuf, smb_psoff), num_params); + if(data) + memcpy( data, smb_base(inbuf) + SVAL(inbuf, smb_dsoff), num_data); if(num_data_sofar < total_data || num_params_sofar < total_params) { @@ -1812,8 +1814,10 @@ int reply_trans2(char *inbuf,char *outbuf,int length,int bufsize) else DEBUG(0,("reply_trans2: %s in getting secondary trans2 response.\n", (smb_read_error == READ_ERROR) ? "error" : "timeout" )); - free(params); - free(data); + if(params) + free(params); + if(data) + free(data); return(ERROR(ERRSRV,ERRerror)); } -- cgit