Author: vlendec Date: 2005-06-08 16:08:39 +0000 (Wed, 08 Jun 2005) New Revision: 7400
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=7400 Log: Jeremy, without this valgrind reliably gives (192.168.234.1) connect to service tmp initially as user vl (uid=1006, gid=100) (pid 29562) ==29562== Syscall param socketcall.send(msg) points to uninitialised byte(s) ==29562== at 0x1BC5C408: send (in /lib/tls/libc.so.6) ==29562== by 0x81F8A31: write_socket_data (lib/util_sock.c:529) ==29562== by 0x81F8B38: write_socket (lib/util_sock.c:552) ==29562== by 0x81F90CE: send_smb (lib/util_sock.c:751) ==29562== by 0x80E5528: handle_aio_read_complete (smbd/aio.c:324) ==29562== by 0x80E56CD: process_aio_queue (smbd/aio.c:368) ==29562== by 0x80DB70C: async_processing (smbd/process.c:290) ==29562== by 0x80DBC4F: receive_message_or_smb (smbd/process.c:451) ==29562== by 0x80DD52C: smbd_process (smbd/process.c:1555) ==29562== by 0x827313E: main (smbd/server.c:958) ==29562== Address 0x1BE659EF is 39 bytes inside a block of size 32831 alloc'd ==29562== at 0x1B9052E4: malloc (vg_replace_malloc.c:130) ==29562== by 0x81F4D57: malloc_ (lib/util.c:881) ==29562== by 0x81F4DBC: malloc_array (lib/util.c:920) ==29562== by 0x80E4D14: create_aio_ex_read (smbd/aio.c:66) ==29562== by 0x80E5071: schedule_aio_read_and_X (smbd/aio.c:181) ==29562== by 0x80AA606: reply_read_and_X (smbd/reply.c:2572) ==29562== by 0x80DC517: switch_message (smbd/process.c:984) ==29562== by 0x80DC5C7: construct_reply (smbd/process.c:1014) ==29562== by 0x80DC90C: process_smb (smbd/process.c:1114) ==29562== by 0x80DD571: smbd_process (smbd/process.c:1571) ==29562== by 0x827313E: main (smbd/server.c:958) You know better what 39 bytes inside the block is... Volker Modified: trunk/source/smbd/aio.c Changeset: Modified: trunk/source/smbd/aio.c =================================================================== --- trunk/source/smbd/aio.c 2005-06-08 15:40:23 UTC (rev 7399) +++ trunk/source/smbd/aio.c 2005-06-08 16:08:39 UTC (rev 7400) @@ -307,7 +307,7 @@ aio_ex->fsp->fsp_name, strerror(errno) )); outsize = (UNIXERROR(ERRDOS,ERRnoaccess)); } else { - outsize = set_message(outbuf,12,nread,False); + outsize = set_message(outbuf,12,nread,True); SSVAL(outbuf,smb_vwv2,0xFFFF); /* Remaining - must be * -1. */ SSVAL(outbuf,smb_vwv5,nread); SSVAL(outbuf,smb_vwv6,smb_offset(data,outbuf));
