Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-9317

deque push_back of structure larger than 64-bytes tries to write to invalid memory location

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • Code Generation Tools
    • CODEGEN-6130
    • Hide
      C6000_8.3.0
      ARM_18.1.1.LTS
      ARM_18.12.0.LTS
      ARM_19.6.0.STS
      MSP430_18.12.0.LTS
      MSP430_18.1.1.LTS
      MSP430_19.6.0.STS
      Show
      C6000_8.3.0 ARM_18.1.1.LTS ARM_18.12.0.LTS ARM_19.6.0.STS MSP430_18.12.0.LTS MSP430_18.1.1.LTS MSP430_19.6.0.STS
    • Hide
      ARM_19.6.0.STS
      ARM_18.12.3.LTS
      MSP430_18.1.7.LTS
      C6000_8.3.5
      ARM_18.1.7.LTS
      MSP430_19.6.0.STS
      MSP430_18.12.3.LTS
      Show
      ARM_19.6.0.STS ARM_18.12.3.LTS MSP430_18.1.7.LTS C6000_8.3.5 ARM_18.1.7.LTS MSP430_19.6.0.STS MSP430_18.12.3.LTS
    • default
    • Hide
      1. Keep deque elements to 64 bytes or less.

      2. Edit include/libcxx/deque and change the definition of "value" in "__deque_block_size" to an expression that is never less than 2.

      3. Use a different data structure.
      Show
      1. Keep deque elements to 64 bytes or less. 2. Edit include/libcxx/deque and change the definition of "value" in "__deque_block_size" to an expression that is never less than 2. 3. Use a different data structure.
    • Hide
      The implementation of std::deque in libc++ has a bug when the block size is 1. The stock version never uses a size that small and never exposes the bug. The TI version, used for ARM and MSP430 since 18.1.1.LTS and C6000 since 8.3.0, uses a formula that makes the block size 1 when the deque's elements are 65 bytes or larger. (Our parts are generally used in embedded situations and often have limited memory.)
      Show
      The implementation of std::deque in libc++ has a bug when the block size is 1. The stock version never uses a size that small and never exposes the bug. The TI version, used for ARM and MSP430 since 18.1.1.LTS and C6000 since 8.3.0, uses a formula that makes the block size 1 when the deque's elements are 65 bytes or larger. (Our parts are generally used in embedded situations and often have limited memory.)

      deque push_back of structure larger than 64-bytes tries to write to invalid memory location

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: