Skip to content
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

Antivirus validation rules memory leak #4

Open
zamronypj opened this issue Mar 11, 2020 · 1 comment
Open

Antivirus validation rules memory leak #4

zamronypj opened this issue Mar 11, 2020 · 1 comment
Labels
bug

Comments

@zamronypj
Copy link
Member

@zamronypj zamronypj commented Mar 11, 2020

TClamav which use ClamAv antivirus (libclamav ) causes memory leak. It also is very slow.

Step to reproduce

  • Make sure ClamAv antivirus and its development library is installed.
  • create Fano Framework web application, for example as SCGI.
  • Add form for file upload
  • Add controller which handle file upload
  • create validation class and add antivirus validation rule using TClamAv.
  • Enable -gh command line in build.dev.cfg
  • compile for development environment
$ BUILD_TYPE=dev ./build.sh
  • Run application
  • Upload a file. Observe that antivirus scan is very slow.
  • Stop application. Observe heaprtc output.
@zamronypj

This comment has been minimized.

Copy link
Member Author

@zamronypj zamronypj commented Mar 12, 2020

TClamAv implementation that using libclamav API directly is removed and replace with TLocalClamdAv implementation which using clamd daemon over network socket. See 76bf930ed82f.

The issue of memory leak is resolved with new implementation, however this issue is deliberately kept open until issue with original implementation using libclamav is resolved.

@zamronypj zamronypj added the bug label Mar 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.