Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Textual Mode & improvements #37

Merged
merged 108 commits into from
Mar 22, 2024
Merged

Conversation

chcmedeiros
Copy link

Checklist

  • [ x] App update process has been followed
  • [ x] Target branch is develop
  • [ x] Application version has been bumped

@ledger-wiz-cspm-secret-detection
Copy link

ledger-wiz-cspm-secret-detection bot commented Mar 14, 2024

Wiz Scan Summary

IaC Misconfigurations 0C 0H 0M 0L 0I
Total 0C 0H 0M 0L 0I
Secrets 0🔑

};
typedef struct CborEncoder CborEncoder;

static const size_t CborIndefiniteLength = SIZE_MAX;

Check notice

Code scanning / CodeQL

Unused static variable Note

Static variable CborIndefiniteLength is never read.
Comment on lines +515 to +624
return err;
}
err = cbor_value_leave_container(it, &recursed);
if (err)
return err;
return CborNoError;
}

case CborIntegerType: {
uint64_t val;
err = cbor_value_get_raw_integer(it, &val);
cbor_assert(err == CborNoError); /* can't fail */

break;
}

case CborByteStringType:
case CborTextStringType: {
size_t n = 0;
const void *ptr;

err = cbor_value_begin_string_iteration(it);
if (err)
return err;

while (1) {
CborValue next;
err = _cbor_value_get_string_chunk(it, &ptr, &n, &next);
if (!err) {
err = validate_number(it, type, flags);
if (err)
return err;
}

*it = next;
if (err == CborErrorNoMoreStringChunks)
return cbor_value_finish_string_iteration(it);
if (err)
return err;

if (type == CborTextStringType && flags & CborValidateUtf8) {
err = validate_utf8_string(ptr, n);
if (err)
return err;
}
}

return CborNoError;
}

case CborTagType: {
CborTag tag;
err = cbor_value_get_tag(it, &tag);
cbor_assert(err == CborNoError); /* can't fail */

err = cbor_value_advance_fixed(it);
if (err)
return err;
err = validate_tag(it, tag, flags, recursionLeft - 1);
if (err)
return err;

return CborNoError;
}

case CborSimpleType: {
uint8_t simple_type;
err = cbor_value_get_simple_type(it, &simple_type);
cbor_assert(err == CborNoError); /* can't fail */
err = validate_simple_type(simple_type, flags);
if (err)
return err;
break;
}

case CborNullType:
case CborBooleanType:
break;

case CborUndefinedType:
if (flags & CborValidateNoUndefined)
return CborErrorExcludedType;
break;

case CborHalfFloatType:
case CborFloatType:
case CborDoubleType: {
#ifdef CBOR_NO_FLOATING_POINT
return CborErrorUnsupportedType;
#else
err = validate_floating_point(it, type, flags);
if (err)
return err;
break;
#endif /* !CBOR_NO_FLOATING_POINT */
}

case CborInvalidType:
return CborErrorUnknownType;
}

Check notice

Code scanning / CodeQL

Long switch case Note

Switch has at least one case that is too long:
CborTextStringType (32 lines)
.
if (flags & CborValidateShortestFloatingPoint && type > CborHalfFloatType) {
if (type == CborDoubleType) {
valf = (float)val;
if ((double)valf == val)

Check notice

Code scanning / CodeQL

Equality test on floating-point values Note

Equality checks on floating point values can yield unexpected results.
# ifndef CBOR_NO_HALF_FLOAT_TYPE
if (type == CborFloatType) {
valf16 = encode_half(valf);
if (valf == decode_half(valf16))

Check notice

Code scanning / CodeQL

Equality test on floating-point values Note

Equality checks on floating point values can yield unexpected results.
if (tagData->tag < tag)
continue;
if (tagData->tag > tag)
tagData = NULL;

Check notice

Code scanning / CodeQL

For loop variable changed in body Note

Loop counters should not be modified in the body of the
loop
.

/* Error API */

typedef enum CborError {

Check notice

Code scanning / CodeQL

Irregular enum initialization Note

In an enumerator list, the = construct should not be used to explicitly initialize members other than the first, unless all items are explicitly initialized.
CborSignatureTag = 55799
} CborKnownTags;

/* #define the constants so we can check with #ifdef */

Check notice

Code scanning / CodeQL

Commented-out code Note

This comment appears to contain commented-out code.
@agrojean-ledger agrojean-ledger merged commit 8638926 into LedgerHQ:develop Mar 22, 2024
31 of 32 checks passed
@chcmedeiros chcmedeiros deleted the helper branch April 15, 2024 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants