Fix GC_scratch_last_end_ptr update on GC_scratch_alloc failure

* headers.c (GC_scratch_alloc): Do not update GC_scratch_last_end_ptr
if allocation failed ("result" variable is NULL).