Fix FS#12325 - screen corruption on early usb.
When booting with USB inserted, the dircache build can get interrupted by the usb connection, in which case the dircache buffer is freed.
Due to a bug the re-creation of dircache used the old freed buffer and overwrite new allocs (causing screen corruption).
Set allocated_size to 0 to make it not take the code path that assumes an existing buffer,
and bring that and freeing together in the code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30845 a1c6a512-1295-4272-9138-f99709370657