)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"50eee6e8956a600b30f37b3bb87b1e66c7a4b897","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"14786dea_b5b71971","updated":"2026-08-24 10:40:28.000000000","message":"Agree!\nPlease check comments below","commit_id":"9ed17c48ab74e95ec3d9f33a039ee6464131d3a4"}],"src/flash/nor/str9xpec.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"50eee6e8956a600b30f37b3bb87b1e66c7a4b897","unresolved":true,"context_lines":[{"line_number":268,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":269,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"\tstr9xpec_info \u003d malloc(sizeof(struct str9xpec_flash_controller));"},{"line_number":272,"context_line":"\tbank-\u003edriver_priv \u003d str9xpec_info;"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"\t/* REVISIT verify that the jtag position of flash controller is"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"77492da1_8c7a2532","line":271,"updated":"2026-08-24 10:40:28.000000000","message":"memory will leak if this command returns error\nThe caller should call\n`free(c-\u003edriver_priv);`\nin the error exit path","commit_id":"9ed17c48ab74e95ec3d9f33a039ee6464131d3a4"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"change_message_id":"10a5f1eb0776e3ebb26805901c773c2b0ccbcb49","unresolved":false,"context_lines":[{"line_number":268,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":269,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"\tstr9xpec_info \u003d malloc(sizeof(struct str9xpec_flash_controller));"},{"line_number":272,"context_line":"\tbank-\u003edriver_priv \u003d str9xpec_info;"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"\t/* REVISIT verify that the jtag position of flash controller is"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"c7583948_55985891","line":271,"in_reply_to":"77492da1_8c7a2532","updated":"2026-08-25 10:41:40.000000000","message":"Thanks for spotting it. Unfortunately there is similar issue in other str[79]x.c drivers. Done in all 3 drivers.","commit_id":"9ed17c48ab74e95ec3d9f33a039ee6464131d3a4"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"50eee6e8956a600b30f37b3bb87b1e66c7a4b897","unresolved":true,"context_lines":[{"line_number":285,"context_line":"\tint retval \u003d str9xpec_build_block_list(bank);"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"\t/* clear option byte register */"},{"line_number":288,"context_line":"\tbuf_set_u32(str9xpec_info-\u003eoptions, 0, 64, 0);"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"\treturn retval;"},{"line_number":291,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"84e38bdc_100590f2","line":288,"updated":"2026-08-24 10:40:28.000000000","message":"I think this initialization can be done earlier, so later just\n`return str9xpec_build_block_list(bank);`","commit_id":"9ed17c48ab74e95ec3d9f33a039ee6464131d3a4"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"change_message_id":"ce4cad8f4e41e634dab8bb85d5e43c91b3e9ca85","unresolved":false,"context_lines":[{"line_number":285,"context_line":"\tint retval \u003d str9xpec_build_block_list(bank);"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"\t/* clear option byte register */"},{"line_number":288,"context_line":"\tbuf_set_u32(str9xpec_info-\u003eoptions, 0, 64, 0);"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"\treturn retval;"},{"line_number":291,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"3b3cf75d_1b14d538","line":288,"in_reply_to":"486a6dde_dff6846f","updated":"2026-09-14 11:28:35.000000000","message":"Ahh yes, I misunderstood you propose it to save retval declaration and saving. Sorry.","commit_id":"9ed17c48ab74e95ec3d9f33a039ee6464131d3a4"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"tomas.vanek.oocd@gmail.com","username":"vanekt"},"change_message_id":"10a5f1eb0776e3ebb26805901c773c2b0ccbcb49","unresolved":false,"context_lines":[{"line_number":285,"context_line":"\tint retval \u003d str9xpec_build_block_list(bank);"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"\t/* clear option byte register */"},{"line_number":288,"context_line":"\tbuf_set_u32(str9xpec_info-\u003eoptions, 0, 64, 0);"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"\treturn retval;"},{"line_number":291,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"486a6dde_dff6846f","line":288,"in_reply_to":"84e38bdc_100590f2","updated":"2026-08-25 10:41:40.000000000","message":"No more relevant as we need `retval` to trigger `free()`","commit_id":"9ed17c48ab74e95ec3d9f33a039ee6464131d3a4"}]}
