diff
- unsigned int bufsize = 1 + size * 8 + 1 + 1;
+ size_t bufsize;
+ if (__builtin_mul_overflow(size, 8, &bufsize) ||
+     __builtin_add_overflow(bufsize, 3, &bufsize)) {
+     return -EOVERFLOW;
+ }
