A large directory full of differently sized file names triggered this.
Most directories, even very large directories with shorter names, would
be lucky enough to fit in one server response.
Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
 
        count = 1;
        part = od->part;
-       while (part && part->next) {
-               part = part->next;
+       while (part) {
                count++;
+               if (part->next)
+                       part = part->next;
+               else
+                       break;
        }
 
        new = (void *)op->downcall.trailer_buf;