Jason Edmeades : cmd: Don' t overflow parameter length when copying substring.
Alexandre Julliard
julliard at winehq.org
Tue Nov 6 14:27:29 CST 2012
Module: wine
Branch: master
Commit: 7c3f3d09dd589430060f3f0bee6d813e213c65f3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7c3f3d09dd589430060f3f0bee6d813e213c65f3
Author: Jason Edmeades <jason at edmeades.me.uk>
Date: Thu Oct 25 21:17:13 2012 +0100
cmd: Don't overflow parameter length when copying substring.
---
programs/cmd/tests/test_builtins.cmd.exp | 2 +-
programs/cmd/wcmdmain.c | 1 +
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index aeaa14d..8a7e3fa 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -275,7 +275,7 @@ P0S
q
qwe
er
- at todo_wine@'ty'@or_broken@''
+'ty'@or_broken@''
't'@or_broken@''
ert at or_broken@qwerty
e at or_broken@qwerty
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c
index 89c1327..534e5a6 100644
--- a/programs/cmd/wcmdmain.c
+++ b/programs/cmd/wcmdmain.c
@@ -730,6 +730,7 @@ static WCHAR *WCMD_expand_envvar(WCHAR *start,
else if (copybytes < 0) copybytes = 0;
WCMD_strsubstW(start, endOfVar + 1, startCopy, copybytes);
} else {
+ substrlength = min(substrlength, len - (startCopy- thisVarContents + 1));
WCMD_strsubstW(start, endOfVar + 1, startCopy, substrlength);
}
More information about the wine-cvs
mailing list