Replace tabs with spaces
Return NULL instead of NULL+HEADER_SIZE when out of memory
Commit before merge
Merge.  Fix backward pointer setting and other wrong-pointer problems.