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;