drachtio-server
drachtio-server copied to clipboard
CI additions
Hi @davehorton
You OK if I add some of these via a PR?
https://github.com/SentryPeer/SentryPeer/tree/main/.github/workflows
Thanks, Gavin.
For example, a potential memory leak:
src/CLionProjects/drachtio-server [main*]$ cppcheck src/
Checking src/blacklist.cpp ...
Checking src/blacklist.cpp: DRACHTIO_MAIN...
Checking src/blacklist.cpp: __clang__...
1/26 files checked 0% done
Checking src/cdr.cpp ...
Checking src/cdr.cpp: DRACHTIO_MAIN...
Checking src/cdr.cpp: __clang__...
2/26 files checked 1% done
Checking src/client-controller.cpp ...
Checking src/client-controller.cpp: DRACHTIO_MAIN...
Checking src/client-controller.cpp: __clang__...
3/26 files checked 7% done
Checking src/client.cpp ...
Checking src/client.cpp: DRACHTIO_MAIN...
Checking src/client.cpp: IPPROTO_TCP;SOL_TCP...
Checking src/client.cpp: TCP_KEEPALIVE;TCP_KEEPIDLE...
Checking src/client.cpp: __clang__...
4/26 files checked 12% done
Checking src/controller.cpp ...
src/controller.cpp:1756:9: error: syntax error [syntaxError]
return throw std::runtime_error(msg.str()) ;
^
Checking src/controller.cpp: DRACHTIO_MAIN...
Checking src/controller.cpp: SOFIA_MSG_DEBUG_TRACE...
Checking src/controller.cpp: __clang__...
5/26 files checked 30% done
Checking src/drachtio-config.cpp ...
Checking src/drachtio-config.cpp: DRACHTIO_MAIN...
Checking src/drachtio-config.cpp: __clang__...
6/26 files checked 35% done
Checking src/drachtio.cpp ...
src/drachtio.cpp:523:9: error: Memory leak: ptr [memleak]
return (void*) ((char*) ptr + 8);
^
Checking src/drachtio.cpp: DRACHTIO_MAIN...
Checking src/drachtio.cpp: __clang__...
7/26 files checked 43% done
Checking src/invite-in-progress.cpp ...
Checking src/invite-in-progress.cpp: DRACHTIO_MAIN...
Checking src/invite-in-progress.cpp: __clang__...
8/26 files checked 44% done
Checking src/main.cpp ...
Checking src/main.cpp: __clang__...
9/26 files checked 44% done
Checking src/pending-request-controller.cpp ...
Checking src/pending-request-controller.cpp: DRACHTIO_MAIN...
Checking src/pending-request-controller.cpp: __clang__...
10/26 files checked 46% done
Checking src/request-handler.cpp ...
Checking src/request-handler.cpp: DRACHTIO_MAIN...
Checking src/request-handler.cpp: __clang__...
11/26 files checked 50% done
Checking src/request-router.cpp ...
Checking src/request-router.cpp: DRACHTIO_MAIN...
Checking src/request-router.cpp: __clang__...
12/26 files checked 51% done
Checking src/sip-dialog-controller.cpp ...
Checking src/sip-dialog-controller.cpp: DRACHTIO_MAIN...
Checking src/sip-dialog-controller.cpp: __clang__...
13/26 files checked 70% done
Checking src/sip-dialog.cpp ...
Checking src/sip-dialog.cpp: DRACHTIO_MAIN...
Checking src/sip-dialog.cpp: __clang__...
14/26 files checked 73% done
Checking src/sip-proxy-controller.cpp ...
Checking src/sip-proxy-controller.cpp: DRACHTIO_MAIN...
Checking src/sip-proxy-controller.cpp: __clang__...
15/26 files checked 86% done
Checking src/sip-transports.cpp ...
Checking src/sip-transports.cpp: DEBUG...
Checking src/sip-transports.cpp: DRACHTIO_MAIN...
Checking src/sip-transports.cpp: __clang__...
16/26 files checked 90% done
Checking src/ssltest.cpp ...
17/26 files checked 91% done
Checking src/stats-collector.cpp ...
Checking src/stats-collector.cpp: DRACHTIO_MAIN...
Checking src/stats-collector.cpp: __clang__...
18/26 files checked 92% done
Checking src/test_asio_curl.cpp ...
19/26 files checked 95% done
Checking src/test_https.cpp ...
20/26 files checked 95% done
Checking src/test_log.cpp ...
21/26 files checked 96% done
Checking src/test_parser.cpp ...
22/26 files checked 97% done
Checking src/test_timer.cpp ...
23/26 files checked 97% done
Checking src/test_uri_parser.cpp ...
Checking src/test_uri_parser.cpp: DRACHTIO_MAIN...
Checking src/test_uri_parser.cpp: __clang__...
24/26 files checked 98% done
Checking src/timer-queue-manager.cpp ...
Checking src/timer-queue-manager.cpp: DRACHTIO_MAIN...
Checking src/timer-queue-manager.cpp: __clang__...
25/26 files checked 98% done
Checking src/timer-queue.cpp ...
Checking src/timer-queue.cpp: DRACHTIO_MAIN...
Checking src/timer-queue.cpp: __clang__...
26/26 files checked 100% done
SonarCloud is great, plus the free things from GitHub, but Coverity is very powerful as are these https://github.com/google/sanitizers and
Sure!
Sent from my iPhone
On May 17, 2022, at 4:23 AM, Gavin Henry @.***> wrote:
For example, a potential memory leak:
src/CLionProjects/drachtio-server [main*]$ cppcheck src/ Checking src/blacklist.cpp ... Checking src/blacklist.cpp: DRACHTIO_MAIN... Checking src/blacklist.cpp: clang... 1/26 files checked 0% done Checking src/cdr.cpp ... Checking src/cdr.cpp: DRACHTIO_MAIN... Checking src/cdr.cpp: clang... 2/26 files checked 1% done Checking src/client-controller.cpp ... Checking src/client-controller.cpp: DRACHTIO_MAIN... Checking src/client-controller.cpp: clang... 3/26 files checked 7% done Checking src/client.cpp ... Checking src/client.cpp: DRACHTIO_MAIN... Checking src/client.cpp: IPPROTO_TCP;SOL_TCP... Checking src/client.cpp: TCP_KEEPALIVE;TCP_KEEPIDLE... Checking src/client.cpp: clang... 4/26 files checked 12% done Checking src/controller.cpp ... src/controller.cpp:1756:9: error: syntax error [syntaxError] return throw std::runtime_error(msg.str()) ; ^ Checking src/controller.cpp: DRACHTIO_MAIN... Checking src/controller.cpp: SOFIA_MSG_DEBUG_TRACE... Checking src/controller.cpp: clang... 5/26 files checked 30% done Checking src/drachtio-config.cpp ... Checking src/drachtio-config.cpp: DRACHTIO_MAIN... Checking src/drachtio-config.cpp: clang... 6/26 files checked 35% done Checking src/drachtio.cpp ... src/drachtio.cpp:523:9: error: Memory leak: ptr [memleak] return (void*) ((char*) ptr + 8); ^ Checking src/drachtio.cpp: DRACHTIO_MAIN... Checking src/drachtio.cpp: clang... 7/26 files checked 43% done Checking src/invite-in-progress.cpp ... Checking src/invite-in-progress.cpp: DRACHTIO_MAIN... Checking src/invite-in-progress.cpp: clang... 8/26 files checked 44% done Checking src/main.cpp ... Checking src/main.cpp: clang... 9/26 files checked 44% done Checking src/pending-request-controller.cpp ... Checking src/pending-request-controller.cpp: DRACHTIO_MAIN... Checking src/pending-request-controller.cpp: clang... 10/26 files checked 46% done Checking src/request-handler.cpp ... Checking src/request-handler.cpp: DRACHTIO_MAIN... Checking src/request-handler.cpp: clang... 11/26 files checked 50% done Checking src/request-router.cpp ... Checking src/request-router.cpp: DRACHTIO_MAIN... Checking src/request-router.cpp: clang... 12/26 files checked 51% done Checking src/sip-dialog-controller.cpp ... Checking src/sip-dialog-controller.cpp: DRACHTIO_MAIN... Checking src/sip-dialog-controller.cpp: clang... 13/26 files checked 70% done Checking src/sip-dialog.cpp ... Checking src/sip-dialog.cpp: DRACHTIO_MAIN... Checking src/sip-dialog.cpp: clang... 14/26 files checked 73% done Checking src/sip-proxy-controller.cpp ... Checking src/sip-proxy-controller.cpp: DRACHTIO_MAIN... Checking src/sip-proxy-controller.cpp: clang... 15/26 files checked 86% done Checking src/sip-transports.cpp ... Checking src/sip-transports.cpp: DEBUG... Checking src/sip-transports.cpp: DRACHTIO_MAIN... Checking src/sip-transports.cpp: clang... 16/26 files checked 90% done Checking src/ssltest.cpp ... 17/26 files checked 91% done Checking src/stats-collector.cpp ... Checking src/stats-collector.cpp: DRACHTIO_MAIN... Checking src/stats-collector.cpp: clang... 18/26 files checked 92% done Checking src/test_asio_curl.cpp ... 19/26 files checked 95% done Checking src/test_https.cpp ... 20/26 files checked 95% done Checking src/test_log.cpp ... 21/26 files checked 96% done Checking src/test_parser.cpp ... 22/26 files checked 97% done Checking src/test_timer.cpp ... 23/26 files checked 97% done Checking src/test_uri_parser.cpp ... Checking src/test_uri_parser.cpp: DRACHTIO_MAIN... Checking src/test_uri_parser.cpp: clang... 24/26 files checked 98% done Checking src/timer-queue-manager.cpp ... Checking src/timer-queue-manager.cpp: DRACHTIO_MAIN... Checking src/timer-queue-manager.cpp: clang... 25/26 files checked 98% done Checking src/timer-queue.cpp ... Checking src/timer-queue.cpp: DRACHTIO_MAIN... Checking src/timer-queue.cpp: clang... 26/26 files checked 100% done SonarCloud is great, plus the free things from GitHub, but Coverity is very powerful as are these https://github.com/google/sanitizers and
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.
5 new CI jobs added. A bit of work to do though.
Thanks.
I'd also recommend adding to lgtm.com and codacy.com (free). These both add value and, as well as SonarCloud, can scan Javascript, which I'd recommend added CI to all the other Jambonz repos.
Damn, forgot to install some of the tools!
I'll clean these up tonight.