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