mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-18 12:52:44 +01:00
cbor: fix off-by-one error
This commit is contained in:
parent
d588c62508
commit
f341947612
@ -522,7 +522,7 @@ size_t cbor_deserialize_float(const cbor_stream_t *stream, size_t offset, float
|
|||||||
|
|
||||||
if (*data == CBOR_FLOAT32) {
|
if (*data == CBOR_FLOAT32) {
|
||||||
*val = ntohf(*(uint32_t *)(data + 1));
|
*val = ntohf(*(uint32_t *)(data + 1));
|
||||||
return 4;
|
return 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -221,7 +221,7 @@ size_t cbor_serialize_int(cbor_stream_t *stream, int val);
|
|||||||
* @param[in] offset The offset within the stream where to start deserializing
|
* @param[in] offset The offset within the stream where to start deserializing
|
||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_int(const cbor_stream_t *stream, size_t offset,
|
size_t cbor_deserialize_int(const cbor_stream_t *stream, size_t offset,
|
||||||
int *val);
|
int *val);
|
||||||
@ -243,7 +243,7 @@ size_t cbor_serialize_uint64_t(cbor_stream_t *stream, uint64_t val);
|
|||||||
* @param[in] offset The offset within the stream where to start deserializing
|
* @param[in] offset The offset within the stream where to start deserializing
|
||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_uint64_t(const cbor_stream_t *stream, size_t offset,
|
size_t cbor_deserialize_uint64_t(const cbor_stream_t *stream, size_t offset,
|
||||||
uint64_t *val);
|
uint64_t *val);
|
||||||
@ -265,7 +265,7 @@ size_t cbor_serialize_int64_t(cbor_stream_t *stream, int64_t val);
|
|||||||
* @param[in] offset The offset within the stream where to start deserializing
|
* @param[in] offset The offset within the stream where to start deserializing
|
||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_int64_t(const cbor_stream_t *stream, size_t offset,
|
size_t cbor_deserialize_int64_t(const cbor_stream_t *stream, size_t offset,
|
||||||
int64_t *val);
|
int64_t *val);
|
||||||
@ -287,7 +287,7 @@ size_t cbor_serialize_bool(cbor_stream_t *stream, bool val);
|
|||||||
* @param[in] offset The offset within the stream where to start deserializing
|
* @param[in] offset The offset within the stream where to start deserializing
|
||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_bool(const cbor_stream_t *stream, size_t offset,
|
size_t cbor_deserialize_bool(const cbor_stream_t *stream, size_t offset,
|
||||||
bool *val);
|
bool *val);
|
||||||
@ -311,7 +311,7 @@ size_t cbor_serialize_float_half(cbor_stream_t *stream, float val);
|
|||||||
* @param[in] offset The offset within the stream where to start deserializing
|
* @param[in] offset The offset within the stream where to start deserializing
|
||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_float_half(const cbor_stream_t *stream, size_t offset,
|
size_t cbor_deserialize_float_half(const cbor_stream_t *stream, size_t offset,
|
||||||
float *val);
|
float *val);
|
||||||
@ -332,7 +332,7 @@ size_t cbor_serialize_float(cbor_stream_t *stream, float val);
|
|||||||
* @param[in] offset The offset within the stream where to start deserializing
|
* @param[in] offset The offset within the stream where to start deserializing
|
||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_float(const cbor_stream_t *stream, size_t offset,
|
size_t cbor_deserialize_float(const cbor_stream_t *stream, size_t offset,
|
||||||
float *val);
|
float *val);
|
||||||
@ -354,7 +354,7 @@ size_t cbor_serialize_double(cbor_stream_t *stream, double val);
|
|||||||
* @param[in] offset The offset within the stream where to start deserializing
|
* @param[in] offset The offset within the stream where to start deserializing
|
||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_double(const cbor_stream_t *stream, size_t offset,
|
size_t cbor_deserialize_double(const cbor_stream_t *stream, size_t offset,
|
||||||
double *val);
|
double *val);
|
||||||
@ -389,7 +389,7 @@ size_t cbor_serialize_byte_stringl(cbor_stream_t *stream, const char *val, size_
|
|||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
* @param[in] length Length of destination array
|
* @param[in] length Length of destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_byte_string(const cbor_stream_t *stream, size_t offset,
|
size_t cbor_deserialize_byte_string(const cbor_stream_t *stream, size_t offset,
|
||||||
char *val, size_t length);
|
char *val, size_t length);
|
||||||
@ -404,7 +404,7 @@ size_t cbor_serialize_unicode_string(cbor_stream_t *stream, const char *val);
|
|||||||
* @param[out] val Pointer to destination array
|
* @param[out] val Pointer to destination array
|
||||||
* @param[in] length Length of destination array
|
* @param[in] length Length of destination array
|
||||||
*
|
*
|
||||||
* @return Number of bytes written into @p val
|
* @return Number of bytes read from @p stream
|
||||||
*/
|
*/
|
||||||
size_t cbor_deserialize_unicode_string(const cbor_stream_t *stream,
|
size_t cbor_deserialize_unicode_string(const cbor_stream_t *stream,
|
||||||
size_t offset, char *val, size_t length);
|
size_t offset, char *val, size_t length);
|
||||||
|
@ -61,7 +61,7 @@ static void my_cbor_print(const cbor_stream_t *stream)
|
|||||||
TEST_ASSERT(cbor_serialize_##function_suffix(&stream, input)); \
|
TEST_ASSERT(cbor_serialize_##function_suffix(&stream, input)); \
|
||||||
CBOR_CHECK_SERIALIZED(stream, data, sizeof(data)); \
|
CBOR_CHECK_SERIALIZED(stream, data, sizeof(data)); \
|
||||||
cbor_stream_t tmp = {data, sizeof(data), sizeof(data)}; \
|
cbor_stream_t tmp = {data, sizeof(data), sizeof(data)}; \
|
||||||
TEST_ASSERT(cbor_deserialize_##function_suffix(&tmp, 0, &buffer)); \
|
TEST_ASSERT_EQUAL_INT(sizeof(data), cbor_deserialize_##function_suffix(&tmp, 0, &buffer)); \
|
||||||
CBOR_CHECK_DESERIALIZED(input, buffer, comparator); \
|
CBOR_CHECK_DESERIALIZED(input, buffer, comparator); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user