Module: wine Branch: master Commit: add67b6f8d37122b329f83fa90094ef4a8adf883 URL: http://source.winehq.org/git/wine.git/?a=commit;h=add67b6f8d37122b329f83fa90...
Author: Sebastian Lackner sebastian@fds-team.de Date: Fri Oct 17 06:08:20 2014 +0200
server: Fix invalid memory access when copying KeyNameInformation data.
---
server/registry.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/server/registry.c b/server/registry.c index 4aaaf03..43527df 100644 --- a/server/registry.c +++ b/server/registry.c @@ -950,10 +950,10 @@ static void enum_key( const struct key *key, int index, int info_class, for (k = key; k != root_key; k = k->parent) { pos -= k->namelen; - if (pos < len) memcpy( data + namelen, k->name, + if (pos < len) memcpy( data + pos, k->name, min( k->namelen, len - pos ) ); pos -= sizeof(backslash); - if (pos < len) memcpy( data + namelen, backslash, + if (pos < len) memcpy( data + pos, backslash, min( sizeof(backslash), len - pos ) ); } memcpy( data, root_name, min( sizeof(root_name) - sizeof(backslash), len ) );