Searched hist:"69 a6a0b38a139ccceef32222108caca8a9b0b795" (Results 1 – 1 of 1) sorted by relevance
/linux/net/dccp/ |
H A D | ccid.c | diff 69a6a0b38a139ccceef32222108caca8a9b0b795 Sun Feb 07 21:20:28 CET 2010 Gerrit Renker <gerrit@erg.abdn.ac.uk> dccp: allow probing of CCID-array length
This fixes a problem in the DCCP getsockopt() API: currently there is no way for a user to a priori know the number of built-in CCIDs, other than trying DCCP_SOCKOPT_AVAILABLE_CCIDS in a loop, incrementing the option length until EINVAL is no longer returned.
This patch truncates the array to the user-provided length. No copy is made when the length is <= 0.
Due to the length restriction in do_dccp_getsockopt() to sizeof(int), the minimum array length remains 4, which is a reasonable default (only 3 CCIDs, CCID-2..4, are currently defined).
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
|