@cryptotaxi247 / netdata-1 / commits / 7e29d5a90

Prevent command_to_be_logged from overflowing (#12947)

* prevent command_to_be_logged from overflowing * dont access with size

Emmanuel Vasilakis committed May 18, 2022 at 17:15 UTC 7e29d5a90896c777d823c46a232fb0edf4f4525e
2 files changed +5 -6
libnetdata/libnetdata.c
+4 -5
@@ -1111,14 +1111,13 @@ char *fgets_trim_len(char *buf, size_t buf_size, FILE *fp, size_t *len) {
1111 }
1112
1113 int vsnprintfz(char *dst, size_t n, const char *fmt, va_list args) {
1114 + if(unlikely(!n)) return 0;
1115 +
1116 int size = vsnprintf(dst, n, fmt, args);
1117 + dst[n - 1] = '\0';
1118
1116 - if (unlikely((size_t) size > n)) {
1117 - // truncated
1118 - size = (int)n;
1119 - }
1119 + if (unlikely((size_t) size > n)) size = (int)n;
1120
1121 - dst[size] = '\0';
1121 return size;
1122 }
1123
libnetdata/popen/popen.c
+1 -1
@@ -400,4 +400,4 @@ int mypclose(FILE *fp, pid_t pid)
400 int netdata_spawn_waitpid(pid_t pid)
401 {
402 return custom_pclose(NULL, pid);
403 -}
\ No newline at end of file
403 +}