TrinityCore / TrinityCore/WowPacketParser

System.ArgumentOutOfRangeException - SMSG_UPDATE_OBJECT (3.4.2.50063)

オープン
#802 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
C#
スター
522
フォーク
387
平均マージ
3日 6時間
マージ済み PR(30日)
4

説明

System.ArgumentOutOfRangeException
Index and length must refer to a location within the string. (Parameter 'length')
   at System.String.ThrowSubstringArgumentOutOfRange(Int32 startIndex, Int32 length)
   at System.String.Substring(Int32 startIndex, Int32 length)
   at WowPacketParser.Misc.Packet.FormatFloat(Single value) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Misc\PacketReads.cs:line 742
   at WowPacketParser.Misc.Packet.ReadSingle(String name, Object[] indexes) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Misc\PacketReads.cs:line 362
   at WowPacketParserModule.V2_5_1_38707.Parsers.UpdateHandler.ReadMovementUpdateBlock(Packet packet, WowGuid guid, WoWObject obj, Object index) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParserModule.V2_5_1_38707\Parsers\UpdateHandler.cs:line 436
   at WowPacketParserModule.V2_5_1_38707.Parsers.UpdateHandler.ReadCreateObjectBlock(Packet packet, CreateObject createObject, WowGuid guid, UInt32 map, CreateObjectType createType, Object index) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParserModule.V2_5_1_38707\Parsers\UpdateHandler.cs:line 175
   at WowPacketParserModule.V2_5_1_38707.Parsers.UpdateHandler.HandleUpdateObject(Packet packet) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParserModule.V2_5_1_38707\Parsers\UpdateHandler.cs:line 150
   at WowPacketParser.Parsing.Handler.Parse(Packet packet, Boolean isMultiple) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Parsing\Handler.cs:line 149

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

WowPacketParser/Misc/PacketReads.cs の FormatFloat から始め、次に ReadMovementUpdateBlock にある WowPacketParserModule.V2_5_1_38707/Parsers/UpdateHandler.cs からの ReadSingle 呼び出しを追跡してください。クライアントバージョン 3.4.2.50063 で SMSG_UPDATE_OBJECT の失敗を再現し、報告された部分文字列の境界をどのように扱うべきかを特定してください。完了条件は、この例外なしにパケットを解析できることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
csharp
領域
reverse-engineering, tooling
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。