I was reading Richard Reese\'s new (May 2013) O\'Reilly book \"Understanding and Using C Pointers\", and I have a question about some code therein, on page 87.
once a pointer is dangling, is it safe to use the address contained in the pointer for any purpose, such as calculating offsets?
No, it is not safe. After free the pointer value is an invalid address and an invalid address cannot be used for pointer arithmetic without invoking undefined behavior.