Truncate version data if provided buffer is not large enough.
diff --git a/dlls/version/info.c b/dlls/version/info.c
index b20e56e..311d5de 100644
--- a/dlls/version/info.c
+++ b/dlls/version/info.c
@@ -325,7 +325,9 @@
if(data)
{
- if(datasize >= len)
+ if(datasize < len)
+ len = datasize; /* truncate data */
+ if(len)
memcpy(data, buf, len);
else
len = 0xFFFFFFFF;
@@ -405,7 +407,9 @@
if(data)
{
- if(datasize >= len)
+ if(datasize < len)
+ len = datasize; /* truncate data */
+ if(len)
memcpy(data, buf, len);
else
len = 0xFFFFFFFF;