r3347: fixed an uninitialised variable bug. Surprisingly hard to track down,
authorAndrew Tridgell <tridge@samba.org>
Fri, 29 Oct 2004 01:07:07 +0000 (01:07 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:04:58 +0000 (13:04 -0500)
as valgrind got a corrupt stack when trying to debug it.
(This used to be commit 58cabaa7022e5521961551462d31fbd90e4183e4)

source4/ntvfs/nbench/vfs_nbench.c

index f9a93aa1c7c3a7e07b6fb2acef6e2b59c6d080b1..e542c3fb7168940db514b0dc6c15caf4ba923d29 100644 (file)
@@ -417,14 +417,20 @@ static NTSTATUS nbench_copy(struct ntvfs_module_context *ntvfs,
 static void nbench_read_send(struct smbsrv_request *req)
 {
        union smb_read *rd = req->async_states->private_data;
-
+       uint32_t nread;
+       
        switch (rd->generic.level) {
        case RAW_READ_READX:
+               if (NT_STATUS_IS_OK(req->async_states->status)) {
+                       nread = rd->readx.out.nread;
+               } else {
+                       nread = 0;
+               }
                nbench_log(req, "ReadX %d %d %d %d %s\n", 
                           rd->readx.in.fnum, 
                           (int)rd->readx.in.offset,
                           rd->readx.in.maxcnt,
-                          rd->readx.out.nread,
+                          nread,
                           get_nt_error_c_code(req->async_states->status));
                break;
        default: