Improved RPC library with added bounds checking to stop memory corruption, removed memory leaks, Arduino pin names, better object discovery.
Fork of mbed-rpc by
I have added bounds checking in both Argument and Reply classes to stop existing buffer over-runs in both classes.
Added the ability to discover the name and class of an RPC object to allow better discovery of existing objects on a server. Removed a memory leak with externally created RPC objects. Ensured consistency so that externally created objects can't be deleted using the RPC interface and are correctly listed after RPC::clear.
Updated RPCVariable to use references instead of pointers to ensure that the compiler checks that there is always a valid backing variable. Also removed RPC new/delete functionality as this is not valid. Added a specialisation of RPCVariable to allow for strings to be read and written via RPC.
Added Arduino pin names to parse_pins, currently only for FRDM boards but same code should work for others just need to add them to the #ifdef.
Changes
Revision | Date | Who | Commit message |
---|---|---|---|
10:7511acfaa62d | 2015-03-30 | rhourahane | Updates to improve robustness and remove memory leak. Added RCVariable specialisation for char buffer. |
9:6ce5db613c77 | 2015-03-23 | rhourahane | Updates to remove possible buffer overflow issues. |
8:fece2d5e8d96 | 2015-02-09 | mbed_official | Synchronized with git revision b36cbfe9f095645336e02d7f812d481bdf170ffc |
7:2a26fd6a2b36 | 2014-05-27 | mbed_official | Synchronized with git revision a8b7f5df2cb5d7a76fda549a15b91fdaba6e2986 |
6:873ac1d027c8 | 2014-04-03 | mbed_official | Synchronized with git revision 283e990f46281170c25714713c465f4a376cc5c3 |
5:4490a0d9cb2a | 2013-08-19 | bogdanm | Sync with official mbed library release 66 |
4:9f88f495e549 | 2013-08-08 | emilmont | Synch with latest https://github.com/mbedmicro/mbed changes |
3:1ecadde1c929 | 2013-05-30 | emilmont | Add LPC4088 target |
2:65228c367483 | 2013-04-24 | emilmont | Fix typo in mbed-rpc parse_pins |
1:6919289a5946 | 2013-04-22 | emilmont | Update license |
0:efe8172b4113 | 2012-11-20 | mbed_official | mbed RPC |