r16466: for SMB2_ALL_EAS it's not valid for the ntvfs backends to return
authorStefan Metzmacher <metze@samba.org>
Thu, 22 Jun 2006 17:33:56 +0000 (17:33 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:09:29 +0000 (14:09 -0500)
0 eas, they should return an error:
NO_EAS_ON_FILE or NO_MORE_EAS

metze
(This used to be commit fdefec1de99273978345d4a183a9660bd741e045)

source4/smb_server/blob.c

index d62067cdfda7552b5e8f86bb95b72a14c46a5fc9..6e798035a2d0598ae05a92beaa9d322ba4e4943c 100644 (file)
@@ -444,6 +444,15 @@ NTSTATUS smbsrv_push_passthru_fileinfo(TALLOC_CTX *mem_ctx,
                return NT_STATUS_OK;
 
        case RAW_FILEINFO_SMB2_ALL_EAS:
+               /* if no eas are returned the backend should
+                * have returned NO_EAS_ON_FILE or NO_MORE_EAS
+                *
+                * so it's a programmer error if num_eas == 0
+                */
+               if (st->all_eas.out.num_eas == 0) {
+                       smb_panic("0 eas for SMB2_ALL_EAS - programmer error in ntvfs backend");
+               }
+
                list_size = ea_list_size_chained(st->all_eas.out.num_eas,
                                                 st->all_eas.out.eas);
                BLOB_CHECK(smbsrv_blob_grow_data(mem_ctx, blob, list_size));