)]}'
{"src/flash/nor/cc26xx.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bd75162f273583c158aad04d395fadde20937593","unresolved":true,"context_lines":[{"line_number":254,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"\t/* Initialize private flash information */"},{"line_number":257,"context_line":"\tmemset((void *)cc26xx_bank, 0x00, sizeof(struct cc26xx_bank));"},{"line_number":258,"context_line":"\tcc26xx_bank-\u003efamily_name \u003d \"cc26xx\";"},{"line_number":259,"context_line":"\tcc26xx_bank-\u003edevice_type \u003d CC26XX_NO_TYPE;"},{"line_number":260,"context_line":"\tcc26xx_bank-\u003esector_length \u003d 0x1000;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"95883535_0d85d1ee","line":257,"updated":"2023-09-06 17:14:18.000000000","message":"here there is no calloc(), but malloc() plus a memset() to zero.\nShould be replaced with a calloc() ?","commit_id":"935ea99bd5c69360ed74b7091cd2f4ae881e09c1"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"f0f8aa99f91eee76675ce757f705c7b903ba356b","unresolved":true,"context_lines":[{"line_number":254,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"\t/* Initialize private flash information */"},{"line_number":257,"context_line":"\tmemset((void *)cc26xx_bank, 0x00, sizeof(struct cc26xx_bank));"},{"line_number":258,"context_line":"\tcc26xx_bank-\u003efamily_name \u003d \"cc26xx\";"},{"line_number":259,"context_line":"\tcc26xx_bank-\u003edevice_type \u003d CC26XX_NO_TYPE;"},{"line_number":260,"context_line":"\tcc26xx_bank-\u003esector_length \u003d 0x1000;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"9e4bd0fe_b16a2dfe","line":257,"in_reply_to":"95883535_0d85d1ee","updated":"2023-09-06 19:22:00.000000000","message":"Same as in cc3220sf: cc26xx_bank is driver priv data, not struct flash_bank.\nI don\u0027t care about driver_priv in this change.","commit_id":"935ea99bd5c69360ed74b7091cd2f4ae881e09c1"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"779733c8f0e2e05333771de8607bf5077cce9f03","unresolved":false,"context_lines":[{"line_number":254,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"\t/* Initialize private flash information */"},{"line_number":257,"context_line":"\tmemset((void *)cc26xx_bank, 0x00, sizeof(struct cc26xx_bank));"},{"line_number":258,"context_line":"\tcc26xx_bank-\u003efamily_name \u003d \"cc26xx\";"},{"line_number":259,"context_line":"\tcc26xx_bank-\u003edevice_type \u003d CC26XX_NO_TYPE;"},{"line_number":260,"context_line":"\tcc26xx_bank-\u003esector_length \u003d 0x1000;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"feaf2d68_1e51176d","line":257,"in_reply_to":"9e4bd0fe_b16a2dfe","updated":"2023-09-06 20:22:22.000000000","message":"Ack","commit_id":"935ea99bd5c69360ed74b7091cd2f4ae881e09c1"}],"src/flash/nor/cc3220sf.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"bd75162f273583c158aad04d395fadde20937593","unresolved":true,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"\t/* Finish initialization of flash bank */"},{"line_number":98,"context_line":"\tbank-\u003edriver_priv \u003d cc3220sf_bank;"},{"line_number":99,"context_line":"\tbank-\u003enext \u003d NULL;"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"\treturn ERROR_OK;"},{"line_number":102,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"e1008ac5_042f0ac8","side":"PARENT","line":99,"updated":"2023-09-06 17:14:18.000000000","message":"No, here there is malloc(), no calloc(), so the initialization is required","commit_id":"57aaadfb2deec2075f37d020e61853e19ef35f5f"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"779733c8f0e2e05333771de8607bf5077cce9f03","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"\t/* Finish initialization of flash bank */"},{"line_number":98,"context_line":"\tbank-\u003edriver_priv \u003d cc3220sf_bank;"},{"line_number":99,"context_line":"\tbank-\u003enext \u003d NULL;"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"\treturn ERROR_OK;"},{"line_number":102,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"38bb0823_a0c073f0","side":"PARENT","line":99,"in_reply_to":"18e446ce_53703e37","updated":"2023-09-06 20:22:22.000000000","message":"You are right! Sorry for the noise.","commit_id":"57aaadfb2deec2075f37d020e61853e19ef35f5f"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"f0f8aa99f91eee76675ce757f705c7b903ba356b","unresolved":true,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"\t/* Finish initialization of flash bank */"},{"line_number":98,"context_line":"\tbank-\u003edriver_priv \u003d cc3220sf_bank;"},{"line_number":99,"context_line":"\tbank-\u003enext \u003d NULL;"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"\treturn ERROR_OK;"},{"line_number":102,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"18e446ce_53703e37","side":"PARENT","line":99,"in_reply_to":"e1008ac5_042f0ac8","updated":"2023-09-06 19:22:00.000000000","message":"malloced cc3220sf_bank is driver priv data (with sort of misleading name), not the base struct flash_bank which contains e.g. bank-\u003enext.\nTBH I did not check if priv data need to be zeroed or not.","commit_id":"57aaadfb2deec2075f37d020e61853e19ef35f5f"}],"src/flash/nor/tcl.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"f0f8aa99f91eee76675ce757f705c7b903ba356b","unresolved":true,"context_lines":[{"line_number":1282,"context_line":"\t\t}"},{"line_number":1283,"context_line":"\t}"},{"line_number":1284,"context_line":""},{"line_number":1285,"context_line":"\tstruct flash_bank *c \u003d calloc(1, sizeof(*c));"},{"line_number":1286,"context_line":"\tc-\u003ename \u003d strdup(bank_name);"},{"line_number":1287,"context_line":"\tc-\u003etarget \u003d target;"},{"line_number":1288,"context_line":"\tc-\u003edriver \u003d driver;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"7defc3ee_9738917d","line":1285,"range":{"start_line":1285,"start_character":1,"end_line":1285,"end_character":46},"updated":"2023-09-06 19:22:00.000000000","message":"Flash bank is normally allocated here (with exception of banks added at probe time in kinetis.c and at91sam7)\nDamn, no check for calloc fail!","commit_id":"935ea99bd5c69360ed74b7091cd2f4ae881e09c1"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"779733c8f0e2e05333771de8607bf5077cce9f03","unresolved":true,"context_lines":[{"line_number":1282,"context_line":"\t\t}"},{"line_number":1283,"context_line":"\t}"},{"line_number":1284,"context_line":""},{"line_number":1285,"context_line":"\tstruct flash_bank *c \u003d calloc(1, sizeof(*c));"},{"line_number":1286,"context_line":"\tc-\u003ename \u003d strdup(bank_name);"},{"line_number":1287,"context_line":"\tc-\u003etarget \u003d target;"},{"line_number":1288,"context_line":"\tc-\u003edriver \u003d driver;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"4820b501_97a32a88","line":1285,"range":{"start_line":1285,"start_character":1,"end_line":1285,"end_character":46},"in_reply_to":"7defc3ee_9738917d","updated":"2023-09-06 20:22:22.000000000","message":"Yep.\nI\u0027m experimenting with the GCC flag -fanalyzer that in recent GCC looks promising.\nIt highlights all the [cm]alloc(), strdup() and similar without NULL check.\nGood for a systematic fixup.","commit_id":"935ea99bd5c69360ed74b7091cd2f4ae881e09c1"}]}
