C and C++


LANG.STRUCT.UESC : Unterminated Escape Sequence

Summary

An octal or hexadecimal escape sequence is not terminated by another escape sequence, the end of a character constant, or the end of a string literal.

Properties

Class Name Unterminated Escape Sequence
Significance style
Mnemonic LANG.STRUCT.UESC
Categories
MisraC2023 MisraC2023:4.1 Octal and hexadecimal escape sequences shall be terminated
Misra2012 Misra2012:4.1 Octal and hexadecimal escape sequences shall be terminated
MisraC++2023 MisraC++2023:5.13.2 Octal and hexadecimal escape sequences shall be terminated
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Unterminated Escape Sequence"

Example

void uesc(void)
{
    "\101";                         /* \101 terminated by end of string */
    "before\101";                   /* \101 terminated by end of string */
    "\101after";       /* 'Unterminated Escape Sequence' warning issued here */
    "before\101after"; /* 'Unterminated Escape Sequence' warning issued here */

    "\101" "separate after";        /* \101 terminated by end of string */
    
    '\101';                         /* \101 terminated by end of character */
    '\101a';           /* 'Unterminated Escape Sequence' warning issued here */

    "'\101'";          /* 'Unterminated Escape Sequence' warning issued here */
}

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.