The scripts/mod/modpost.c triggers the following warning: scripts/mod/modpost.c: In function ‘remove_dot’: scripts/mod/modpost.c:1710:10: warning: ignoring return value of ‘strtoul’, declared with attribute warn_unused_result [-Wunused-result] The remove_dot function that calls strtoul does not care about the numeric value of the string that is parsed but only looks for the end of the numeric sequence. As such, it's equivalent to just skip over all digits.
Showing the changes to scripts (1 of 1 file). Show all
Unified · Split
| @@ -1703,12 +1703,11 @@ static void check_sec_ref(struct module *mod, const char *modname, · 1702 unmodified lines | ||
| 1703 | 1703 | |
| 1704 | 1704 | static char *remove_dot(char *s) |
| 1705 | 1705 | { |
| 1706 | − char *end; | |
| 1707 | − int n = strcspn(s, "."); | |
| 1706 | + size_t n = strcspn(s, "."); | |
| 1708 | 1707 | |
| 1709 | − if (n > 0 && s[n] != 0) { | |
| 1710 | − strtoul(s + n + 1, &end, 10); | |
| 1711 | − if (end > s + n + 1 && (*end == '.' || *end == 0)) | |
| 1708 | + if (n && s[n]) { | |
| 1709 | + size_t m = strspn(s + n + 1, "0123456789"); | |
| 1710 | + if (m && (s[n + m] == '.' || s[n + m] == 0)) | |
| 1712 | 1711 | s[n] = 0; |
| 1713 | 1712 | } |
| 1714 | 1713 | return s; |