From 4832105237c48b22caaaecd24f2b48e4c2b9bc8e Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Mon, 15 Feb 2010 17:23:05 +0100 Subject: [PATCH] shell32: replace strcpy by memcpy due to slightly undefined struct handling Hi, Writing over the end of a struct is only clearly defined if the struct is standalone and not contained in another. So for gcc 4.5 the strcpy triggers a fortify overflow error and we better use memcpy. Ciao, Marcus --- dlls/shell32/pidl.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c index 3e61144..4b8858b 100644 --- a/dlls/shell32/pidl.c +++ b/dlls/shell32/pidl.c @@ -1600,13 +1600,13 @@ LPITEMIDLIST _ILCreateEntireNetwork(void) TRACE("\n"); - pidlOut = _ILAlloc(PT_NETWORK, FIELD_OFFSET(PIDLDATA, u.network.szNames[sizeof("Entire Network")])); + pidlOut = _ILAlloc(PT_NETWORK, FIELD_OFFSET(PIDLDATA, u.network.szNames[strlen("Entire Network")+1])); if (pidlOut) { LPPIDLDATA pData = _ILGetDataPointer(pidlOut); pData->u.network.dummy = 0; - strcpy(pData->u.network.szNames, "Entire Network"); + memcpy(pData->u.network.szNames, "Entire Network", strlen("Entire Network")+1); } return pidlOut; } -- 1.6.6.1