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

GPIOCC26XX: GPIOCC26xx_release() always assume the IO has an callback entry, causing out of bounds writes.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • TI Device Drivers
    • TIDRIVERS-3542
    • Hide
      3.70.00
       3.80.01
      Show
      3.70.00  3.80.01
    • CORESDK_4_10_00
    • Hide
      Issue:

      When using GPIOCC26xx_release(), it is assumed that each GPIO entry has a corresponding callback in the callback table. As the GPIO callback table does not need to contain an entry for each entry (as suggested by the comment in the board file), GPIOCC26xx_release also need to take this into consideration to avoid writing out of bounds.

      This will issue will occur in our current SDK if GPIOCC26xx_release() is used on one of the GPIO indexes that do not have a corresponding callback entry.

      Solution:

      Add a check of GPIO index and GPIO callback array size before "removing" a callback from the table.
      Show
      Issue: When using GPIOCC26xx_release(), it is assumed that each GPIO entry has a corresponding callback in the callback table. As the GPIO callback table does not need to contain an entry for each entry (as suggested by the comment in the board file), GPIOCC26xx_release also need to take this into consideration to avoid writing out of bounds. This will issue will occur in our current SDK if GPIOCC26xx_release() is used on one of the GPIO indexes that do not have a corresponding callback entry. Solution: Add a check of GPIO index and GPIO callback array size before "removing" a callback from the table.

      GPIOCC26XX: GPIOCC26xx_release() always assume the IO has an callback entry, causing out of bounds writes.

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

              Created:
              Updated:
              Resolved: