I would suspect that it mocks parameters of functions in that you can assume that it's safe. However, I didn't read directly from the standard on this... You might want to look directly at it for a sure answer.
It is safe because val is captured by value so a copy of val exists in fff after the assignement at line 8, there will be no dereference in the call at line 12.