--- 27rc5~/net/irda/af_irda.c 2003-11-28 20:26:21.000000000 +0200 +++ 27rc5/net/irda/af_irda.c 2004-08-07 14:09:39.000000000 +0300 @@ -1900,11 +1900,10 @@ case IAS_STRING: /* Should check charset & co */ /* Check length */ - if(ias_opt->attribute.irda_attrib_string.len > - IAS_MAX_STRING) { - kfree(ias_opt); - return -EINVAL; - } + /* The length is encoded in a __u8, and + * IAS_MAX_STRING == 256, so there is no way + * userspace can pass us a string too large. + * Jean II */ /* NULL terminate the string (avoid troubles) */ ias_opt->attribute.irda_attrib_string.string[ias_opt->attribute.irda_attrib_string.len] = '\0'; /* Add a string attribute */