Crash when creating bloom filter

Bug #571914 reported by eMTee
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DC++
Fix Released
High
Unassigned

Bug Description

[2010-04-20 23:18] <Sulan> http://pastebin.com/tVrwYCZF
[2010-04-20 23:18] <Sulan> DC++ didnt like my buggy bloom filter
[2010-04-21 16:26] <eMTee> Sulan, does this crash depend on a specific GET BLOM command parameters or on a certain share the filter made from?
[2010-04-21 16:34] <Sulan> dont know, i only got it once
[2010-04-21 16:34] <Sulan> no time to test it more atm
[2010-04-21 16:35] <eMTee> if its reproducible it'd worth to test on a build made with other than gcc 4.4.1 because the crash is in the 64bit modulo function in ver. 4.4.1 gcc runtime lib...

Revision history for this message
eMTee (realprogger) wrote :

The crash is actually because of an unhandled exception caused by a modulo by zero operation, and is reproducible if DC++ receives a GET BLOM command with zero filter size (m) specified (or if parameter #3 of the GET command is invalid).

As far as I see the (current) protocol extension does not restrict m=0, however getting a zero sized filter seems illogical to me... so if m=0 is invalid then the fix is easy (send "Unsupported m"). If m=0 is a valid value then some other action must be taken.

Changed in dcplusplus:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Jacek Sieka (arnetheduck) wrote :

Well, normally I'd just send an unsupported m, but as far as I can tell, it's harmless to handle the case correctly so let's please the hub and send them a zero size bloom...

eMTee (realprogger)
Changed in dcplusplus:
status: Confirmed → Fix Committed
Revision history for this message
poy (poy) wrote :

Fixed in DC++ 0.780.

Changed in dcplusplus:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.