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 mbed official

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.

History

Updates to improve robustness and remove memory leak. Added RCVariable specialisation for char buffer. default tip

2015-03-30, by rhourahane [Mon, 30 Mar 2015 16:43:47 +0000] rev 10

Updates to improve robustness and remove memory leak. Added RCVariable specialisation for char buffer.


Updates to remove possible buffer overflow issues.

2015-03-23, by rhourahane [Mon, 23 Mar 2015 20:10:24 +0000] rev 9

Updates to remove possible buffer overflow issues.


Synchronized with git revision b36cbfe9f095645336e02d7f812d481bdf170ffc

2015-02-09, by mbed_official [Mon, 09 Feb 2015 09:15:22 +0000] rev 8

Synchronized with git revision b36cbfe9f095645336e02d7f812d481bdf170ffc

Full URL: https://github.com/mbedmicro/mbed/commit/b36cbfe9f095645336e02d7f812d481bdf170ffc/

Fix target issues for TARGET_LPC4088_DM


Synchronized with git revision a8b7f5df2cb5d7a76fda549a15b91fdaba6e2986

2014-05-27, by mbed_official [Tue, 27 May 2014 08:30:27 +0100] rev 7

Synchronized with git revision a8b7f5df2cb5d7a76fda549a15b91fdaba6e2986

Full URL: https://github.com/mbedmicro/mbed/commit/a8b7f5df2cb5d7a76fda549a15b91fdaba6e2986/

[KLXX] Added RPC + RTOS support (KL05Z)


Synchronized with git revision 283e990f46281170c25714713c465f4a376cc5c3

2014-04-03, by mbed_official [Thu, 03 Apr 2014 20:45:12 +0100] rev 6

Synchronized with git revision 283e990f46281170c25714713c465f4a376cc5c3

Full URL: https://github.com/mbedmicro/mbed/commit/283e990f46281170c25714713c465f4a376cc5c3/


Sync with official mbed library release 66

2013-08-19, by bogdanm [Mon, 19 Aug 2013 18:37:40 +0300] rev 5

Sync with official mbed library release 66


Synch with latest https://github.com/mbedmicro/mbed changes

2013-08-08, by emilmont [Thu, 08 Aug 2013 15:43:25 +0100] rev 4

Synch with latest https://github.com/mbedmicro/mbed changes


Add LPC4088 target

2013-05-30, by emilmont [Thu, 30 May 2013 17:07:09 +0100] rev 3

Add LPC4088 target


Fix typo in mbed-rpc parse_pins

2013-04-24, by emilmont [Wed, 24 Apr 2013 15:02:07 +0000] rev 2

Fix typo in mbed-rpc parse_pins


Update license

2013-04-22, by emilmont [Mon, 22 Apr 2013 17:50:11 +0100] rev 1

Update license
Add "parse_pins" function removed from the mbed library