Resolving stack-smashing problem associated with variable length of subscriber's process ID 2..5 bytes Co-authored-by: Tomasz Kazimierz Motyl <tomasz.motyl@se.com>
This commit is contained in:
committed by
GitHub
parent
385c6bbd5d
commit
bcb82841fb
@@ -276,10 +276,11 @@ static int cov_encode_subscription(
|
|||||||
* @return How many bytes were encoded in the buffer, or -2 if the response
|
* @return How many bytes were encoded in the buffer, or -2 if the response
|
||||||
* would not fit within the buffer.
|
* would not fit within the buffer.
|
||||||
*/
|
*/
|
||||||
/* Maximume length for an encoded COV subscription - 27 bytes for BACNET IP6
|
/* Maximume length for an encoded COV subscription - 31 bytes for BACNET IP6
|
||||||
* 31 bytes for IPv4 (longest MAC) and lets round it up to the machine word
|
* 35 bytes for IPv4 (longest MAC) with the maximum length
|
||||||
|
* of PID (5 bytes) and lets round it up to the 64bit machine word
|
||||||
* alignment */
|
* alignment */
|
||||||
#define MAX_COV_SUB_SIZE (32)
|
#define MAX_COV_SUB_SIZE (40)
|
||||||
int handler_cov_encode_subscriptions(uint8_t *apdu, int max_apdu)
|
int handler_cov_encode_subscriptions(uint8_t *apdu, int max_apdu)
|
||||||
{
|
{
|
||||||
if (apdu) {
|
if (apdu) {
|
||||||
|
|||||||
Reference in New Issue
Block a user