From d8f9f0a91284a8b83b67be55f6744a90fd3e5e1e Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 26 Jun 2026 09:37:09 +0200 Subject: [PATCH] tool_operate: remove call to abort() Make an assert and return a plain error instead. No abort in release code. - also remove from two examples - add as a banned function in checksrc - document the banned state Closes #22182 --- docs/examples/multi-event.c | 2 +- docs/examples/multi-uv.c | 2 +- docs/internals/CODE_STYLE.md | 1 + scripts/checksrc.pl | 1 + src/tool_operate.c | 3 ++- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/examples/multi-event.c b/docs/examples/multi-event.c index 58744b6e2e..b52adefa0c 100644 --- a/docs/examples/multi-event.c +++ b/docs/examples/multi-event.c @@ -205,7 +205,7 @@ static int handle_socket(CURL *curl, curl_socket_t s, int action, void *userp, } break; default: - abort(); + return -1; /* unknown */ } return 0; diff --git a/docs/examples/multi-uv.c b/docs/examples/multi-uv.c index 094df35105..2671556ba0 100644 --- a/docs/examples/multi-uv.c +++ b/docs/examples/multi-uv.c @@ -219,7 +219,7 @@ static int cb_socket(CURL *curl, curl_socket_t s, int action, } break; default: - abort(); + return -1; /* unknown */ } return 0; diff --git a/docs/internals/CODE_STYLE.md b/docs/internals/CODE_STYLE.md index 31c333af82..ce3c199135 100644 --- a/docs/internals/CODE_STYLE.md +++ b/docs/internals/CODE_STYLE.md @@ -348,6 +348,7 @@ This is the full list of functions generally banned. _wfopen _wfreopen _wopen + abort accept accept4 access diff --git a/scripts/checksrc.pl b/scripts/checksrc.pl index 46d02ae3c8..7ef3074b0c 100755 --- a/scripts/checksrc.pl +++ b/scripts/checksrc.pl @@ -65,6 +65,7 @@ my %banfunc = ( "_wfopen" => 1, "_wfreopen" => 1, "_wopen" => 1, + "abort" => 1, "accept" => 1, "accept4" => 1, "access" => 1, diff --git a/src/tool_operate.c b/src/tool_operate.c index 97a1d93047..27f4de6a9e 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -1768,7 +1768,8 @@ static int cb_socket(CURL *easy, curl_socket_t s, int action, } break; default: - abort(); + DEBUGASSERT(0); + return -1; } return 0;