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;