Git Product home page Git Product logo

armacept's People

Contributors

flawww avatar user-simon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

armacept's Issues

CRC failed - ArmA 3 v1.98.146.303

CRC failed
[server]
29 00 F8 47 00 00 00 00  81 02 80 A1 5F 22 86 93  |  )..G........_"..
17 57 0D 37 92 78 7A BC  9E 89 6D 28 46 94 FD 49  |  .W.7.xz...m(F..I
EB A1 D9 24 E5 A9 AA 39  29                       |  ...$...9)

CRC failed
[server]
29 00 F8 47 00 00 00 00  80 02 80 A1 5F 22 86 93  |  )..G........_"..
17 57 0D 37 92 78 7A BC  B9 1A 24 0C D4 5D 19 3B  |  .W.7.xz...$..].;
D2 3D 17 43 D6 B0 A6 3F  AA                       |  .=.C...?.

CRC failed
[server]
29 00 F8 47 00 00 00 00  83 02 80 A1 5F 22 86 93  |  )..G........_"..
17 57 0D 37 92 78 7A BC  6B F3 50 36 49 13 3E 28  |  .W.7.xz.k.P6I.>(
5B 79 B5 12 FE 24 EC 9A  78                       |  [y...$..x

Memory allocation is broken for NDTObjectArray

Hey!

First of all, thanks for an amazing base, I'm currently learning reverse-engineering and decided to poke at older ArmA 3 versions networking. Pulling out keys and parsing structs was a lot of fun :)
Right now I got everything working smoothly - all packets are getting parsed and logged correctly, and stock callbacks are working great too

A couple of packets are starting to crash the program once I setup callbacks however - for example setting a callback on MessageCreateAIGroup will lead to a guaranteed crash on server join

It always crashes while trying to write first string of whatever object is contained in array, in this case:
MessageCreateAIGroup -> waypoints[0] (MessageWaypoint) -> description (NDTString)

An example backtrace

#0  0x00007f7568ecc6bd in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x0000000000499cb0 in a3parser::decode_message_item (this=0xaf1ea0, to=0, src=0x7ffc2eed6068, format=..., msg=0x7f756000aba0 "\222\201\063F\204H\\C\277\302\353E") at src/a3parser.cpp:808
#2  0x00000000004997ff in a3parser::decode_message (this=0xaf1ea0, to=0, src=0x7ffc2eed6068, format=0x571010 <GMsgFormats+2656>, type=106, msg=0x7f756000aba0 "\222\201\063F\204H\\C\277\302\353E") at src/a3parser.cpp:430
#3  0x000000000049bb33 in a3parser::decode_message_item (this=0xaf1ea0, to=0, src=0x7ffc2eed6068, format=..., msg=0x7f7560001a60 "\002") at src/a3parser.cpp:1090
#4  0x00000000004997ff in a3parser::decode_message (this=0xaf1ea0, to=0, src=0x7ffc2eed6068, format=0x570fd0 <GMsgFormats+2592>, type=103, msg=0x7f7560001a60 "\002") at src/a3parser.cpp:430
#5  0x00000000004986ab in a3parser::process_messages (this=0xaf1ea0, src=0x7ffc2eed6068, to=0) at src/a3parser.cpp:357
#6  0x0000000000497cc0 in a3parser::parse_packet (this=0xaf1ea0, pkt=0x7f756000a830) at src/a3parser.cpp:178
#7  0x00000000004b5d65 in main (argc=2, argv=0x7ffc2eed6dd8) at src/main.cpp:138

This happens with all packets containing NDTObjectArray in any way, shape or form - it gets logged fine, but set a callback on it and everything dies

Was planning to fix it and make a PR, but it already ate a lot of my personal time, so I decided to just post an issue for now, might tackle it later :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.