← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 1722364] Re: Invalid ADC commands sent via UDP will crash the app

 

what a nice patch! thanks, applied.
I especially liked the variadic template... ;)

- has anyting changed in the NMDC parsing part? hard to catch that from
the patch.

- as I'm a bit rusty... could the "x[x.length() - 1] != 0x0a" check
crash on empty data? it was after a "x.compare(1, 4, "RES ") == 0" check
before your patch but that clause has been removed.

** Changed in: dcplusplus
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/1722364

Title:
  Invalid ADC commands sent via UDP will crash the app

Status in AirDC++:
  Fix Released
Status in ApexDC++:
  New
Status in DC++:
  Fix Committed
Status in FlylinkDC++:
  New

Bug description:
  The AdcCommand parsing function will throw ParseException on invalid
  commands:
  https://sourceforge.net/p/dcplusplus/code/ci/default/tree/dcpp/AdcCommand.cpp#l37

  However, SearchManager (UDPServer in AirDC++) won't catch those
  exceptions at all:
  https://sourceforge.net/p/dcplusplus/code/ci/default/tree/dcpp/SearchManager.cpp#l286

  
  As a result, you should be able to crash the app by sending the following raw text to the UDP port: 

  ARES T\n

  (I used https://packetsender.com for testing)

To manage notifications about this bug go to:
https://bugs.launchpad.net/airdcpp/+bug/1722364/+subscriptions


References