Save some memory even if not using --low-memory

Path strings were always allocated MAX_PATH, but never reallocated. I
fixed that.