mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-03-02 22:57:32 -05:00
Apply to/make use of Google's OSS-Fuzz (Fuzz testing/Sanitizers) #8447
Labels
No labels
Accessibility
AppImage
Bounty
Build system
CI
Can't reproduce
Code cleanup
Confirmed bug
Confirmed bug
Core
Crash
Data loss
Discussion
Docker
Documentation
Duplicate
Feature
Feature request
Feature request
Feature request
Filters
Flatpak
GUI
Has workaround
I2P
Invalid
Libtorrent
Look and feel
Meta
NSIS
Network
Not an issue
OS: *BSD
OS: Linux
OS: Windows
OS: macOS
PPA
Performance
Project management
Proxy/VPN
Qt bugs
Qt6 compat
RSS
Search engine
Security
Temp folder
Themes
Translations
Triggers
Waiting diagnosis
Waiting info
Waiting upstream
Waiting web implementation
Watched folders
WebAPI
WebUI
autoCloseOldIssue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/qBittorrent#8447
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @necros2k7 on GitHub (Mar 9, 2019).
OSS-Fuzz: Continuous Fuzzing for Open Source Software
Apply to https://google.github.io/oss-fuzz/getting-started/accepting-new-projects/
Fuzz testing
Fuzz testing is a well-known technique for uncovering programming errors in software. Many of these detectable errors, like buffer overflow, can have serious security implications. Google has found thousands of security vulnerabilities and stability bugs by deploying guided in-process fuzzing of Chrome components, and we now want to share that service with the open source community.
In cooperation with the Core Infrastructure Initiative and the OpenSSF, OSS-Fuzz aims to make common open source software more secure and stable by combining modern fuzzing techniques with scalable, distributed execution.
We support the libFuzzer, AFL++, and Honggfuzz fuzzing engines in combination with Sanitizers, as well as ClusterFuzz, a distributed fuzzer execution environment and reporting tool.
Currently, OSS-Fuzz supports C/C++, Rust, Go and Python code. Other languages supported by LLVM may work too. OSS-Fuzz supports fuzzing x86_64 and i386 builds.
Ref: https://github.com/google/oss-fuzz
Sanitizers
This project is the home for Sanitizers: AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer, and more The actual code resides in the LLVM repository. Here we keep extended documentation, bugfixes and some helper code.
The documentation for our tools:
AddressSanitizer (detects addressability issues) and LeakSanitizer (detects memory leaks)
ThreadSanitizer (detects data races and deadlocks) for C++ and Go
MemorySanitizer (detects use of uninitialized memory)
HWASAN, or Hardware-assisted AddressSanitizer, a newer variant of AddressSanitizer that consumes much less memory
UBSan, or UndefinedBehaviorSanitizer
Ref:https://github.com/google/sanitizers
@xavier2k6 commented on GitHub (Mar 16, 2021):
@necros2k7 We really only allow one issue/request..... (I should close it, but.......)
Elaborate on this, Do the GHA builds not suffice for you?
WIP
This is still in "ALPHA" Stage.
Unsure if this is required/needed.
@thalieht @FranciscoPombal thoughts?
@necros2k7 commented on GitHub (Mar 16, 2021):
What`s GHA builds?
@sakkamade commented on GitHub (Mar 16, 2021):
Github Actions
https://github.com/qbittorrent/qBittorrent/actions
@necros2k7 commented on GitHub (Mar 17, 2021):
can you point to actual latest binary?
@thalieht commented on GitHub (Mar 17, 2021):
In that list, which is sorted by time, if the middle column says "master" (or first column starts with "Merged pull request...") that is the latest change that was accepted and merged in master branch (which contains all changes since the last release). Every change comes in pairs of 2 lines. Pick the one that doesn't mention "file health", go down to "Artifacts" and dl what you want.
@xavier2k6 commented on GitHub (Mar 17, 2021):
Simply get the newest/latest "master" that will always appear at the top of this list from below link (this excludes the "file health"):
https://github.com/qbittorrent/qBittorrent/actions/workflows/ci.yaml?query=branch%3Amaster
qBittorrent-CI_Windows-x64@xavier2k6 commented on GitHub (Mar 17, 2021):
@necros2k7 This should basically cover all from https://github.com/qbittorrent/qBittorrent/issues/10360#issuecomment-800354697 except for the
OSS-Fuzzrequest.The
OSS-Fuzzrequest is legitimate enough & I would probably suggest to create a "new issue" for that & close this if you are satisfied that your previous needs have been fulfilled?!@thalieht If necros2k7 creates a "new issue" for the
OSS-Fuzzrequest we could potentially close #5449 in favour of it?@thalieht commented on GitHub (Mar 17, 2021):
I don't know, are they the same thing?
@necros2k7 commented on GitHub (Mar 17, 2021):
Last time I posted feat.req. for OSS Fuzz on some of my favorite projects - Github tried to ban me for spam, and during week I explained what I meant with techsup., so sorry I can`t make new issue) If anyone likes pls do.
@necros2k7 commented on GitHub (Mar 17, 2021):
OSS fuzz is free service as I undersand and AFL is app, so maybe it can be beneficial to merge these two into something "Fuzzing" named issue
@xavier2k6 commented on GitHub (Mar 18, 2021):
@thalieht
OSS-Fuzzcurrently uses AFL but are replacing/integrating AFL++Ref.:
Integrate afl++ with OSS-Fuzz, deprecate vanilla afl.
@thalieht commented on GitHub (Mar 18, 2021):
Guess we can close the other issue then.
@necros2k7 commented on GitHub (Mar 18, 2021):
So I guess there is no need in OSSfuzz? Just correct AFL++ setup?
@xavier2k6 commented on GitHub (Mar 19, 2021):
I believe there is a need for it or to at least implement our own parts of what is on offer......
OSSfuzzalso includessanitizers(AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer) so I think overall this would be a good idea to look in to more thoroughly indeed.@xavier2k6 commented on GitHub (May 23, 2025):
ANNOUNCEMENT!
For anybody coming across this "Feature Request" & would like/love to see a potential implementation in the future!
Here are some options available to you:
Please select/click the 👍 &/or ❤
reactionsin the original/opening post of this ticket.Please feel free (If you have the "skillset") to create a "Pull Request" implementing what's being requested in this ticket.
(new/existing contributors/developers are always welcome)
DO:
DO NOT:
(These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)