)]}'
{
  "commit": "681c7da7c82f640507098dedae27535e36a1f88d",
  "tree": "7e7b92ea8fef0f4c08879e2eea8d7b075a403478",
  "parents": [
    "d2c49544c8d5574aeb7d1ceadc1cd76b71900bb0"
  ],
  "author": {
    "name": "Luca Burelli",
    "email": "l.burelli@arduino.cc",
    "time": "Wed Mar 05 14:21:55 2025 +0100"
  },
  "committer": {
    "name": "Benjamin Cabé",
    "email": "kartben@gmail.com",
    "time": "Wed Mar 19 01:23:59 2025 +0100"
  },
  "message": "llext: fix fixed-length name buffer usage\n\nThis was inspired by the detection of 2 instances of the warning:\n\n   warning: \u0027strncpy\u0027 specified bound 16 equals destination size\n            [-Wstringop-truncation]\n\nThe current code is already safe with regards to overflows, because\nfixed-length string functions are used in the call tree. However, when\ngiven a name 16 chars or larger, the current compare in llext_by_name()\nwill not work as expected because the stored extension name is truncated\nto a max of 15.\n\nDefine a global LLEXT_MAX_NAME_LEN constant to simplify all this logic\nand also implement name checks in the shell before calling llext_load().\n\nFinally, using strlen() instead of strnlen() gets the real length of the\nhex string passed as a parameter, which is important for the next safety\ncheck.\n\nSigned-off-by: Luca Burelli \u003cl.burelli@arduino.cc\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c124d8afdb5dc2be59c18598f0ef0184fbfe2705",
      "old_mode": 33188,
      "old_path": "include/zephyr/llext/llext.h",
      "new_id": "76028e5dcebe979d95a0daeea9780839855df2a9",
      "new_mode": 33188,
      "new_path": "include/zephyr/llext/llext.h"
    },
    {
      "type": "modify",
      "old_id": "4b9acfc7411a66ad44e0159ad3687cc79a569b1d",
      "old_mode": 33188,
      "old_path": "subsys/llext/llext.c",
      "new_id": "83148025b771a804a5d2467b4fa25db736bec0f7",
      "new_mode": 33188,
      "new_path": "subsys/llext/llext.c"
    },
    {
      "type": "modify",
      "old_id": "67e4035a09e4291657c0ad373042ff19a2c373fe",
      "old_mode": 33188,
      "old_path": "subsys/llext/shell.c",
      "new_id": "00fcda1fde44925086f8d5b2e0ec0cd6ebb2fda2",
      "new_mode": 33188,
      "new_path": "subsys/llext/shell.c"
    }
  ]
}
