did find one low hanging fruit and one interesting strcpy reimplementation:
henrik@Sineya:~/utveckling/repositories/curl$ git diff diff --git a/lib/base64.c b/lib/base64.c index be6f163dc..c84d3ca3d 100644 --- a/lib/base64.c +++ b/lib/base64.c @@ -273,7 +273,7 @@ static CURLcode base64_encode(const char *table64, free(convbuf); /* Return the length of the new data */ - *outlen = strlen(base64data); + *outlen = output - base64data; return CURLE_OK; } diff --git a/lib/urlapi.c b/lib/urlapi.c index d29aeb238..66d6bf487 100644 --- a/lib/urlapi.c +++ b/lib/urlapi.c @@ -1005,9 +1005,7 @@ static CURLUcode seturl(const char *url, CURLU *u, unsigned int flags) return CURLUE_NO_HOST; } - len = strlen(p); - memcpy(path, p, len); - path[len] = 0; + strcpy(path, p); if(schemep) { u->scheme = strdup(schemep); /HH Den fre 28 jan. 2022 kl 15:52 skrev Henrik Holst < henrik.ho...@millistream.com>: > yes, hence the quotation marks and the "if they even can be reduced" > caveat ;). I have to look over what curl is calling strlen on, tried to run > ltrace but the compiled version on Ubuntu seems to be compiled in a way > that prohibits ltrace from finding any libcalls (it did find syscalls) so > I'll look later when I have a custom compile of curl. > > /HH > > Den fre 28 jan. 2022 kl 15:47 skrev Daniel Stenberg <dan...@haxx.se>: > >> On Fri, 28 Jan 2022, Henrik Holst wrote: >> >> > it does "waste" (depending on if they even can be reduced and even then >> what >> > the savings would be) cpu time for setting up new connections >> >> They are only a waste if we can do the same thing without doing the >> strlens. >> I'll willingly work on removing all uncessary strlen calls anyone can >> find. >> >> -- >> >> / daniel.haxx.se >> | Commercial curl support up to 24x7 is available! >> | Private help, bug fixes, support, ports, new features >> | https://curl.se/support.html >> >
-- Unsubscribe: https://lists.haxx.se/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html