On 09/24/2009 08:02 PM, Kalle Valo wrote: > + len = sizeof(wiphy->fw_version); > + snprintf(wiphy->fw_version, len, "%d.%d.%d-%d", > + priv->fw_version.major, priv->fw_version.minor, > + priv->fw_version.patch, priv->fw_version.build); > + > + len = sizeof(wiphy->hw_version); > + snprintf(wiphy->hw_version, len, "%d", priv->board_type); > + > + /* null terminate the strings in case they were truncated */ > + wiphy->fw_version[len - 1] = '\0'; > + wiphy->hw_version[len - 1] = '\0'; This only works as long as sizeof(wiphy->fw_version) == sizeof(wiphy->hw_version) - which is currently the case. For sizeof(wiphy->fw_version) < sizeof(wiphy_hw_version) it overwrites memory behind wiphy->fw_version. IMHO this is more robust against changes in the lengths of the char arrays: + wiphy->fw_version[sizeof(wiphy->fw_version) - 1] = '\0'; + wiphy->hw_version[sizeof(wiphy->hw_version) - 1] = '\0'; Regards, Jörg. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html