CID 608995: buffer overflow.
This should not happen, so in case a file has an unexpectedly large name, drop to debugger.
This commit is contained in:
@@ -244,10 +244,13 @@ public:
|
|||||||
{
|
{
|
||||||
device = ref.device;
|
device = ref.device;
|
||||||
directory = ref.directory;
|
directory = ref.directory;
|
||||||
if (ref.name)
|
if (ref.name == NULL)
|
||||||
strcpy(name, ref.name);
|
|
||||||
else
|
|
||||||
name[0] = 0;
|
name[0] = 0;
|
||||||
|
else if (strlen(ref.name) > B_FILE_NAME_LENGTH) {
|
||||||
|
debugger("File name too long!");
|
||||||
|
name[0] = 0;
|
||||||
|
} else
|
||||||
|
strcpy(name, ref.name);
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user