 
                            Do not cast away a const qualification on an object of pointer type. Casting away the const qualification allows a program to modify the object referred to by the pointer, which may result in undefined behavior. See undefined behavior 64 in Appendix J of the C standard [ISO/IEC 9899:2011].
As an illustration, C provides a footnote (Section 6.7.3, para. 4):
...
EXP05-EX2: A number of C99 standard library functions are specified to return non-const pointers that refer to their const-qualified arguments. When the actual arguments to such functions reference const objects, attempting to use the returned non-const pointers to modify the const objects would be a violation of rule EXP40-C. Do not modify constant values and lead to undefined behavior. These functions are the following:
...
CERT C++ Secure Coding Standard: EXP35-CPP. Do not cast away a const qualification
ISO/IEC 9899:2011 Section Section 6.7.3, "Type qualifiers"
ISO/IEC PDTR 24772 "HFC Pointer casting and pointer type changes" and "IHN Type system"
...