On Thu, Mar 19, 2015 at 01:50:38PM +0200, Uri Lublin wrote: > On 02/16/2015 12:29 PM, Christophe Fergeau wrote: > >We currently have macros silently replacing use of strncpy/strcat with > >strcpy_s/strcat_s when using MSVC++. However, these macros can have > >unexpected effects as they use sizeof to find out the maximum size of > >the destination string. This is a very significant behaviour from > >strncpy/strcat, which can lead to subtle bugs as the behaviour is > >different between mingw and MSVC++. > >Now that we have our implementation of strcpy_s/strcat_s, we don't need > >these #defines. > > I think this patch can be squashed into the previous > patch, which makes use of vdagent_str*_s and making > these macros unused. I'm fine with leaving it as is. I have a slight preference for keeping a separate commit, so I'll leave things this way. > > >--- > > common/vdcommon.h | 2 -- > > vdagent/file_xfer.h | 2 +- > > 2 files changed, 1 insertion(+), 3 deletions(-) > > > >diff --git a/common/vdcommon.h b/common/vdcommon.h > >index 002ac23..93bb673 100644 > >--- a/common/vdcommon.h > >+++ b/common/vdcommon.h > >@@ -92,8 +92,6 @@ errno_t vdagent_strcpy_s(char *strDestination, > > > > #ifdef _MSC_VER // compiling with Visual Studio > > #define snprintf sprintf_s > >-#define strncpy(d,s,n) strcpy_s(s, __min(n+1, sizeof(d)), s) > >-#define strcat(d,s) strcat_s(d, sizeof(d), s) > > #define sscanf sscanf_s > > #endif > > > >diff --git a/vdagent/file_xfer.h b/vdagent/file_xfer.h > >index 7f756e3..7ac911e 100644 > >--- a/vdagent/file_xfer.h > >+++ b/vdagent/file_xfer.h > >@@ -27,7 +27,7 @@ typedef struct ALIGN_VC FileXferTask { > > // FIXME: should raise an error if name is too long.. > > // currently the only user is FileXfer::handle_start > > // which verifies that strlen(_name) < MAX_PATH > >- vdagent_strncpy_s(name, sizeof(name), _name); > >+ vdagent_strcpy_s(name, sizeof(name), _name); > > This is to be squashed in the previous patch > Yup, messed up rebase/split, thanks for catching. I've fixed that locally. Christophe
Attachment:
pgping23IYegt.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel