s3: Fix a crash in libsmbclient used against the OpenSolaris CIFS server
authorVolker Lendecke <vl@samba.org>
Sat, 16 Jan 2010 12:31:44 +0000 (13:31 +0100)
committerKarolin Seeger <kseeger@samba.org>
Wed, 24 Feb 2010 15:25:09 +0000 (16:25 +0100)
A user has sent me a sniff where the OpenSolaris CIFS server returns "32" in
totalentries, but the array in ctr only contains 15 entries. Look at the right
delimiter for walking the array.

Fix bug #7046 (libsmbclient crash against OpenSolaris CIFS server).
(cherry picked from commit 1d611028433db18e96d946b206a8eed1048f9b26)

source/libsmb/libsmb_dir.c

index b370f4b9938698d0cb061d37658bcf17b4d3efd9..845ee5ef656d8eaee4b8af08170087047520bcd6 100644 (file)
@@ -303,7 +303,7 @@ net_share_enum_rpc(struct cli_state *cli,
         }
 
         /* For each returned entry... */
-        for (i = 0; i < total_entries; i++) {
+        for (i = 0; i < info_ctr.ctr.ctr1->count; i++) {
 
                 /* pull out the share name */
                fstrcpy(name, info_ctr.ctr.ctr1->array[i].name);