mit einer Struktur wie der folgenden < /p>
typedef struct _mySTRING
{
unsigned short StringLength;
char String[1];
} mySTRING;
< /code>
und Verwendung dieser Struktur entlang dieser Zeilen < /p>
mySTRING * CreateString(char * Input)
{
int Len = (int)strlen(Input);
int Needed = sizeof(mySTRING) + Len;
mySTRING * pString = (mySTRING *)malloc(Needed);
:
strcpy(pString->String, Input);
}
< /code>
Ergebnisse auf Red Hat Linux CC Compiler in der folgenden Warnung, die fair genug ist. < /p>
strings.c:59:3: warning: âstrcpyâ writing 14 bytes into a region of size 1 overflows the destination [-Wstringop-overflow=]
strcpy(pString->String, Input);
< /code>
Ich weiß, dass diese Warnung in diesem Code etwas ist, das ich nicht korrigieren muss. Wie kann ich dem Compiler dies sagen, ohne diese Warnungen auszuschalten, die etwas, woanders, in Zukunft nützlich finden könnten.>
Vermeiden Sie die Warnung zum Überlauf von Strcpy -Überlauf ⇐ Linux
-
- Similar Topics
- Replies
- Views
- Last post