summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-strategy/dopewars/files/dopewars-1.5.12-CVE-2009-3591.patch')
-rw-r--r--games-strategy/dopewars/files/dopewars-1.5.12-CVE-2009-3591.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/games-strategy/dopewars/files/dopewars-1.5.12-CVE-2009-3591.patch b/games-strategy/dopewars/files/dopewars-1.5.12-CVE-2009-3591.patch
new file mode 100644
index 000000000000..d657bf8744f1
--- /dev/null
+++ b/games-strategy/dopewars/files/dopewars-1.5.12-CVE-2009-3591.patch
@@ -0,0 +1,20 @@
+Patch for CVE-2009-3591 -- bug 288295.
+
+Fetched from upstream SVN:
+http://dopewars.svn.sourceforge.net/viewvc/dopewars/dopewars/trunk/src/serverside.c?r1=1033&r2=1032&pathrev=1033
+
+--- dopewars/trunk/src/serverside.c 2009/03/10 07:18:49 1032
++++ dopewars/trunk/src/serverside.c 2009/10/05 04:11:32 1033
+@@ -504,6 +504,12 @@
+ break;
+ case C_REQUESTJET:
+ i = atoi(Data);
++ /* Make sure value is within range */
++ if (i < 0 || i >= NumLocation) {
++ dopelog(3, LF_SERVER, _("%s: DENIED jet to invalid location %s"),
++ GetPlayerName(Play), Data);
++ break;
++ }
+ if (Play->EventNum == E_FIGHT || Play->EventNum == E_FIGHTASK) {
+ if (CanRunHere(Play)) {
+ break;