hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/fs/btrfs/rcu-string.h
....@@ -8,7 +8,7 @@
88
99 struct rcu_string {
1010 struct rcu_head rcu;
11
- char str[0];
11
+ char str[];
1212 };
1313
1414 static inline struct rcu_string *rcu_string_strdup(const char *src, gfp_t mask)
....@@ -18,7 +18,11 @@
1818 (len * sizeof(char)), mask);
1919 if (!ret)
2020 return ret;
21
- strncpy(ret->str, src, len);
21
+ /* Warn if the source got unexpectedly truncated. */
22
+ if (WARN_ON(strscpy(ret->str, src, len) < 0)) {
23
+ kfree(ret);
24
+ return NULL;
25
+ }
2226 return ret;
2327 }
2428