#2409: Crash in calcDroidPower.
---------------------+-------------------------------------
  Reporter:  Cyp     |             Owner:
      Type:  bug     |            Status:  new
  Priority:  normal  |         Milestone:  2.3.x
 Component:  other   |           Version:  2.3.6
  Keywords:          |  Operating System:  All/Non-Specific
Blocked By:          |          Blocking:
---------------------+-------------------------------------
 Looks as if psDroid->asWeaps[i].nStat is invalid.
 {{{
 power += (asWeaponStats + psDroid->asWeaps[i].nStat)->buildPower;
 }}}

 Where are all the values received in recvTemplate validated, by the way?
 And why are things like buildPower sent over the net at all? Looks like
 intValidTemplate does some stuff that would be appropriate (and also some
 stuff that wouldn't, and also doesn't do some stuff that would).

 {{{
 #3  <signal handler called>
 No symbol table info available.
 #4  0x00000000004b2a4e in calcDroidPower (psDroid=0x51b21f0) at
 ../../src/droid.c:2729
         power = 260
 #5  0x00000000004b31a6 in repairPowerPoint (psDroid=0x51b21f0) at
 ../../src/droid.c:5031
         __FUNCTION__ = "repairPowerPoint"
 #6  0x00000000004b3239 in powerReqForDroidRepair (psDroid=0x51b21f0) at
 ../../src/droid.c:5014
 No locals.
 #7  0x000000000054682b in accruePower (psObject=0x51cd570) at
 ../../src/power.c:521
         psFactory = <value optimized out>
         psResearch = <value optimized out>
         psRepair = 0x104
         powerDiff = <value optimized out>
         bPowerUsed = <value optimized out>
         psTarget = 0x51b21f0
         __FUNCTION__ = "accruePower"
 #8  0x000000000058ae96 in aiUpdateStructure (psBuilding=0x51cd570) at
 ../../src/structure.c:2922
         psNextTemplate = <value optimized out>
         psChosenObjs = {0x0, 0x0, 0x0, 0x0}
         psChosenObj = 0x0
         pPlayerRes = <value optimized out>
         psDroid = <value optimized out>
         iVecEffect = {x = 1374389535, y = 0, z = 81316464}
         bDroidPlaced = <value optimized out>
         pSubject = <value optimized out>
         Quantity = <value optimized out>
         mindist = <value optimized out>
         i = 16
         pointsToAdd = <value optimized out>
         structureMode = <value optimized out>
 #9  structureUpdate (psBuilding=0x51cd570) at ../../src/structure.c:3753
         widthScatter = <value optimized out>
         breadthScatter = <value optimized out>
         iPointsToAdd = <value optimized out>
         iPointsRequired = <value optimized out>
         dv = {x = 2, y = 0, z = 4930420}
         __FUNCTION__ = "structureUpdate"
 #10 0x000000000050916c in gameLoop () at ../../src/loop.c:396
         psCurr = <value optimized out>
         psNext = <value optimized out>
         psCBuilding = 0x51cd570
         psNBuilding = 0x5221da0
         psCFeat = <value optimized out>
         psNFeat = <value optimized out>
         i = 2
 }}}

-- 
Ticket URL: <http://developer.wz2100.net/ticket/2409>
Warzone 2100 Trac <http://developer.wz2100.net/>
The Warzone 2100 Project
_______________________________________________
Warzone-dev mailing list
[email protected]
https://mail.gna.org/listinfo/warzone-dev

Reply via email to