-
-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: extend API with ptr/len-string interfaces #827
Conversation
|
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #827 +/- ##
==========================================
+ Coverage 81.20% 82.57% +1.37%
==========================================
Files 53 53
Lines 6981 7301 +320
Branches 1119 1179 +60
==========================================
+ Hits 5669 6029 +360
+ Misses 1201 1165 -36
+ Partials 111 107 -4 |
Hi @Swatinem, can you give this a first once-over when you have time? (it is not urgent because I am unsure if I will have time to continue working on the PR before the easter holidays). What the PR should do is rather apparent, but I was experimenting with how to de-duplicate the two paths in the code base. Sometimes the most trivial approach is to stay with two separate implementations (if the line count is low). Sometimes, it makes sense to express one in terms of the other. Sometimes I felt it would make the most sense to create a macro where parameters and parameter-dependent function calls are parameterized. When implementing one in terms of the other, I typically wrote the c-string interface in terms of the byte-string one because you only pay for an additional NULL-check and Could you tell me whether the macros make sense and whether you have different implementation favorites for those instances? The PR is incomplete; I want to add even more unit tests (some of the previous functions were "covered" but not tested, revealing a few places that led to NULL-induced access violations). I also haven't yet touched the windows-specific interfaces. Thx! |
Also fixes: #831 |
The remaining macOS CI build also fails on I could not repro the leak using |
The previous CI run from 1h ago still used the image version 🤷 something, something eventual consistency. I err on the "this is not a real leak side". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice one, please have a look at my comments!
this isn't going to fix our "leak", but it de-inits resources acquired by curl_global_init().
the supposed leak-culprit to which we have no (de-)allocation control.
It is unclear why the build suddenly broke with the new runner images because neither XCode/SDK (and its |
Also, try to remove the suppression for libcurl 7.77.0 added here: #827 (comment) since the libcurl version retrieved from the SDK is now 7.85.0
* chore: Update crashpad to 2024-06-11 * update macos test images to 14 (adding one for 12) * fix breakpad-backend compiler break in macOS >= 12 GHA runner image. * fix crashpad xcode-llvm breakage * fix quote typo * Use macOS 13 instead of 12 as the older fallback * move the macOS asan build to macOS 12 * Try to inject `-fexperimental-library` for the llvm clang asan build * Remove build-step macos llvm asan build * Add experimental library via cmake.py * add the library search path for the clang experimental lib * Get rid of the warning noise * Ignore realizeClassWithoutSwift leaks * document asan suppression Also, try to remove the suppression for libcurl 7.77.0 added here: #827 (comment) since the libcurl version retrieved from the SDK is now 7.85.0 * re-introduce SCDynamicStoreCopyProxies suppression * update crashpad to getsentry head
Fixes #819.