tree a1f005c608cc3cb19bb36612d8d42458f6de74d0
parent 84bdb05bd284b9ef4c465331c9921200c5ee7bd6
author Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> 1695749838 +0530
committer GitHub <noreply@github.com> 1695749838 +0530
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJlExbOCRBK7hj4Ov3rIwAA9YEIAEI24l1QHOEXjfmXuBkx8KEU
 7Q5zErvWxQr/iCGz99QLgRWdnYP6q/FiTLVUorCQmlzmXpZb89h8vvj4r6BH4kBv
 owCpUsA8Viw0y+Z2J7rGZEqxW3EhKkddagEuX0wFcOQ+o4t1qNLRYICPRSFjgFzS
 U+J7FHWp3UDxYd9GJA4WTZk43WEuUeCCwPk3f2tbVZWRfLVi9SDdnYsCRN9DET0m
 X80RxmU3uM6a3+sHqfDHyw3H3CS7/va/cMQU2fadtVptSr3JhW8dZkxUlQ3ibO6q
 P9x/cDZ9a50IL0B5+TGr0W5IpSlHRGlgeLR8jFtelwCWAw/z7zheLSMqODBRwwE=
 =35jA
 -----END PGP SIGNATURE-----
 

Replace sprintf with snprintf (#802)

This change necessitates the introduction of 2 new APIs:

void vTaskListTasks( char * pcWriteBuffer, size_t uxBufferLength );
void vTaskGetRunTimeStatistics( char * pcWriteBuffer, size_t uxBufferLength );

These 2 APIs behave exactly as vTaskList and vTaskGetRunTimeStats
except the fact that they take the length of the pcWriteBuffer as the
second argument to ensure that we do not write past the buffer.

vTaskList and vTaskGetRunTimeStats assume that the length of the
buffer is configSTATS_BUFFER_MAX_LENGTH which defaults to 0xFFFF.
This is done to ensure that the existing applications do not break.
New applications should use the new APIs to avoid memory corruption.