diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2019-01-08 15:00:03 +0100 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2019-01-21 10:36:53 +0100 |
commit | 627f192d1e1a2ddf5fb06201facb15d4c70b058f (patch) | |
tree | 4a18c57f0e8c5b6fd5c4a3b486e5c24d05cc2fd6 /drivers | |
parent | 800855ea0baeefa35892f84b64f6c10397fd43a9 (diff) |
dio: Fix buffer overflow in case of unknown board
With gcc 8.2.0:
drivers/dio/dio.c: In function ‘dio_init’:
drivers/dio/dio.c:240:17: warning: ‘strcpy’ writing 69 or more bytes into a region of size 64 overflows the destination [-Wstringop-overflow=]
strcpy(dev->name,dio_getname(dev->id));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Indeed, if an unknown board is present, the target buffer will overflow.
Shorten the unknown board name string to fix this, and declare it as an
array while at it.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dio/dio.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dio/dio.c b/drivers/dio/dio.c index 92e78d16b476..c9aa15fb86a9 100644 --- a/drivers/dio/dio.c +++ b/drivers/dio/dio.c @@ -89,8 +89,8 @@ static struct dioname names[] = #undef DIONAME #undef DIOFBNAME -static const char *unknowndioname - = "unknown DIO board -- please email <linux-m68k@lists.linux-m68k.org>!"; +static const char unknowndioname[] + = "unknown DIO board, please email linux-m68k@lists.linux-m68k.org"; static const char *dio_getname(int id) { |