Vermeiden Sie die Warnung zum Überlauf von Strcpy -ÜberlaufLinux

Linux verstehen
Anonymous
 Vermeiden Sie die Warnung zum Überlauf von Strcpy -Überlauf

Post by Anonymous »

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.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post