)]}'
{"id":"openocd~master~I8aa6e5c0c341e818c0327eaa0d2bd5b6304c93b8","project":"openocd","branch":"master","attention_set":{},"removed_from_attention_set":{"1000021":{"account":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"last_update":"2026-01-11 18:15:13.000000000","reason":"removed on reply"},"1002047":{"account":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"last_update":"2026-01-11 18:15:20.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I8aa6e5c0c341e818c0327eaa0d2bd5b6304c93b8","subject":"helper: command: assert on command_print() with no command_invocation","status":"MERGED","created":"2025-08-20 12:52:01.000000000","updated":"2026-01-11 18:15:20.000000000","submitted":"2026-01-11 18:15:20.000000000","submitter":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"9091","meta_rev_id":"176fa28588df9202c0b36fc95557e15224ad3fcd","_number":9091,"owner":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"value":0,"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2026-01-11 18:15:20.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"approved":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2026-01-11 18:15:20.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"value":0,"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},{"value":0,"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-08-20 12:52:01.000000000","updated_by":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"reviewer":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"state":"REVIEWER"},{"updated":"2025-08-20 13:10:55.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-08-20 13:54:19.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"154b3c41360287a312e0d5d5cc7b64c4fcc410c5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2025-08-20 12:52:01.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6ec7a3600cef9dacf39f4ac1f98cdedecae62e27","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2025-08-20 13:54:19.000000000","message":"Patch Set 1: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit-build/20813/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit/21680/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"2795d4b66163768bd6dae0305834c6fa94ff2ce3","author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"real_author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"date":"2025-08-26 12:07:35.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"10d634127e78310f1963200d39451419034a4ef7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2025-12-14 21:31:29.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:NO_CHANGE OR is:MIN\")\n* Verified+1 (copy condition: \"changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":2},{"id":"dd3164332321c82a6f2a81c03e6bd2d85b32cd6d","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2025-12-14 23:13:47.000000000","message":"Patch Set 2: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit-build/21562/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit/22449/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"b9f689ead67eabd6cf1003e63d7a9e6bd9292e35","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2026-01-11 18:15:13.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"176fa28588df9202c0b36fc95557e15224ad3fcd","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2026-01-11 18:15:20.000000000","message":"Change has been successfully cherry-picked as cb6b8039478ffe14de9891897cd707b901f76bed","accounts_in_message":[],"_revision_number":3}],"current_revision":"cb6b8039478ffe14de9891897cd707b901f76bed","revisions":{"cb6b8039478ffe14de9891897cd707b901f76bed":{"kind":"REWORK","_number":3,"created":"2026-01-11 18:15:20.000000000","uploader":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"ref":"refs/changes/91/9091/3","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/91/9091/3","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/3 \u0026\u0026 git checkout -b change-9091 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/91/9091/3","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"1dedd6918b9566a20a028b4cfb0c5d17e9cd99cb","subject":"helper: command: rewrite common command_print()"}],"author":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-08-20 12:43:35.000000000","tz":120},"committer":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2026-01-11 18:15:20.000000000","tz":0},"subject":"helper: command: assert on command_print() with no command_invocation","message":"helper: command: assert on command_print() with no command_invocation\n\nCommit 7f260f5009a7 (\"helper/command: Handle Tcl return values\nconsistently\") allows calling command_print with the first\nparameter set to NULL.\nThis should not be allowed.\nI cannot identify any part of OpenOCD that calls a command that in\nturn calls command_print() with NULL command_invocation.\nAdding\n\t__attribute__((nonnull (1, 2)))\nto the prototype of the functions does not trigger any positive\nwith GCC and scan-build.\n\nAdd an assert to detect such corner cases.\nThis change is kept small and self contained to allow reverting it\neasily if a real use case is identified.\n\nChange-Id: I8aa6e5c0c341e818c0327eaa0d2bd5b6304c93b8\nSigned-off-by: Antonio Borneo \u003cborneo.antonio@gmail.com\u003e\nReviewed-on: https://review.openocd.org/c/openocd/+/9091\nTested-by: jenkins\n"}},"3eb12d79c27d795401b6f03ec59d774445549104":{"kind":"REWORK","_number":2,"created":"2025-12-14 21:31:29.000000000","uploader":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"ref":"refs/changes/91/9091/2","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/91/9091/2","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/2 \u0026\u0026 git checkout -b change-9091 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/91/9091/2","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"3ad19ef4ba1968ed49a47b895c935a96c0d95315","subject":"helper: command: rewrite common command_print()"}],"author":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-08-20 12:43:35.000000000","tz":120},"committer":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-12-14 21:26:25.000000000","tz":60},"subject":"helper: command: assert on command_print() with no command_invocation","message":"helper: command: assert on command_print() with no command_invocation\n\nCommit 7f260f5009a7 (\"helper/command: Handle Tcl return values\nconsistently\") allows calling command_print with the first\nparameter set to NULL.\nThis should not be allowed.\nI cannot identify any part of OpenOCD that calls a command that in\nturn calls command_print() with NULL command_invocation.\nAdding\n\t__attribute__((nonnull (1, 2)))\nto the prototype of the functions does not trigger any positive\nwith GCC and scan-build.\n\nAdd an assert to detect such corner cases.\nThis change is kept small and self contained to allow reverting it\neasily if a real use case is identified.\n\nChange-Id: I8aa6e5c0c341e818c0327eaa0d2bd5b6304c93b8\nSigned-off-by: Antonio Borneo \u003cborneo.antonio@gmail.com\u003e\n"}},"ea9462f8141b87ddea5215621d5d74d3a31f38fc":{"kind":"REWORK","_number":1,"created":"2025-08-20 12:52:01.000000000","uploader":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"ref":"refs/changes/91/9091/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/91/9091/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/1 \u0026\u0026 git checkout -b change-9091 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/91/9091/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/91/9091/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"6330906ff8f9ca8a1cf1832636476fddfad659a9","subject":"helper: command: rewrite common command_print()"}],"author":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-08-20 12:43:35.000000000","tz":120},"committer":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2025-08-20 12:43:35.000000000","tz":120},"subject":"helper: command: assert on command_print() with no command_invocation","message":"helper: command: assert on command_print() with no command_invocation\n\nCommit 7f260f5009a7 (\"helper/command: Handle Tcl return values\nconsistently\") allows calling command_print with the first\nparameter set to NULL.\nThis should not be allowed.\nI cannot identify any part of OpenOCD that calls a command that in\nturn calls command_print() with NULL command_invocation.\nAdding\n\t__attribute__((nonnull (1, 2)))\nto the prototype of the functions does not trigger any positive\nwith GCC and scan-build.\n\nAdd an assert to detect such corner cases.\nThis change is kept small and self contained to allow reverting it\neasily if a real use case is identified.\n\nChange-Id: I8aa6e5c0c341e818c0327eaa0d2bd5b6304c93b8\nSigned-off-by: Antonio Borneo \u003cborneo.antonio@gmail.com\u003e\n"}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dMAX -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX","-label:Verified\u003dMIN"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"],"failing_atoms":[]}}]}
