]> git.pond.sub.org Git - empserver/commitdiff
Fix test for capability sweep in shp_hit_mine() hvy-plastic-2.2
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 21 Mar 2010 08:26:37 +0000 (09:26 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 21 Mar 2010 08:34:42 +0000 (09:34 +0100)
Bogus array index, unpredictable result, can crash the server.  Broken
in commit ef7ea893, v4.3.24.
(cherry picked from commit 054eba7a1d5f92d80ac340787cb8d7798a20ec1e)

src/lib/subs/shpsub.c

index 11353607f043fe04ae5311bcbe7c4c77136f58b6..fb44fe2c463fd8e415453766fed8a07ee2c358ee 100644 (file)
@@ -708,7 +708,7 @@ shp_hit_mine(struct shpstr *sp)
     nreport(sp->shp_own, N_HIT_MINE, 0, 1);
 
     m = MINE_DAMAGE();
-    if (mchr[sp->shp_uid].m_flags & M_SWEEP)
+    if (mchr[sp->shp_type].m_flags & M_SWEEP)
        m /= 2.0;
 
     shipdamage(sp, ldround(m, 1));