While standard C makes virtually all non-trivial use of reallocI() undefined behavior, de facto C supports comparison and arithmetic of values freed by realloc. Some common patterns in these cases break in CHERI C due to lost or inappropriate provenance. I've detailed a (perhaps) overly simplistic example in this Rust-related discussion. We should add a similar example, perhaps with a more realistic use case updating multiple pointers.