From 9b1935445c89b49c448e9f60aa534cc60cbf75f6 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 21 Aug 2016 17:49:52 +0200 Subject: [PATCH] CID 608995: buffer overflow. This should not happen, so in case a file has an unexpectedly large name, drop to debugger. --- headers/private/media/ServerInterface.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/headers/private/media/ServerInterface.h b/headers/private/media/ServerInterface.h index 1ff85f5ede..0bd7967ecc 100644 --- a/headers/private/media/ServerInterface.h +++ b/headers/private/media/ServerInterface.h @@ -244,10 +244,13 @@ public: { device = ref.device; directory = ref.directory; - if (ref.name) - strcpy(name, ref.name); - else + if (ref.name == NULL) 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; }