eagleas / clamav

ClamAV Ruby bindings
25 stars 9 forks source link

clamavr_reload(): cl_engine_free() and cl_engine_new() before cl_load() #5

Open kmullin opened 12 years ago

kmullin commented 12 years ago

I was trying to use your Ruby bindings for libclamav 0.97.6 and noticed that reload() wasn't working properly and would cause libclamav to error out with:

LibClamAV Error: cl_load(): can't load new databases when engine is already compiled
RuntimeError - cl_load() error: Invalid argument passed to function

With my very little C knowledge I traced it down to this piece of code missing where you need to actually call cl_engine_free() and then cl_engine_new()

I crossed referenced it with clamav api docs

DISCLAIMER: I have not tested this with libclamav 0.96.x (yet).

Opening Pull Request for visibility, and discussion.

shishirsharma commented 11 years ago

Looks like developer is not active. :-1:

kmullin commented 11 years ago

Ya, it looks that way.

If you'd like, you can checkout my more recent working copy here: https://github.com/kmullin/clamav