mirror of
https://github.com/xzeldon/htop.git
synced 2025-07-12 20:24:35 +03:00
Security review: check results of snprintf.
Calls marked with xSnprintf shouldn't fail. Abort program cleanly if any of them does.
This commit is contained in:
10
TasksMeter.c
10
TasksMeter.c
@ -30,7 +30,7 @@ static void TasksMeter_updateValues(Meter* this, char* buffer, int len) {
|
||||
if (this->pl->settings->hideKernelThreads) {
|
||||
this->values[0] = 0;
|
||||
}
|
||||
snprintf(buffer, len, "%d/%d", (int) this->values[3], (int) this->total);
|
||||
xSnprintf(buffer, len, "%d/%d", (int) this->values[3], (int) this->total);
|
||||
}
|
||||
|
||||
static void TasksMeter_display(Object* cast, RichString* out) {
|
||||
@ -40,7 +40,7 @@ static void TasksMeter_display(Object* cast, RichString* out) {
|
||||
|
||||
int processes = (int) this->values[2];
|
||||
|
||||
snprintf(buffer, sizeof(buffer), "%d", processes);
|
||||
xSnprintf(buffer, sizeof(buffer), "%d", processes);
|
||||
RichString_write(out, CRT_colors[METER_VALUE], buffer);
|
||||
int threadValueColor = CRT_colors[METER_VALUE];
|
||||
int threadCaptionColor = CRT_colors[METER_TEXT];
|
||||
@ -50,18 +50,18 @@ static void TasksMeter_display(Object* cast, RichString* out) {
|
||||
}
|
||||
if (!settings->hideUserlandThreads) {
|
||||
RichString_append(out, CRT_colors[METER_TEXT], ", ");
|
||||
snprintf(buffer, sizeof(buffer), "%d", (int)this->values[1]);
|
||||
xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[1]);
|
||||
RichString_append(out, threadValueColor, buffer);
|
||||
RichString_append(out, threadCaptionColor, " thr");
|
||||
}
|
||||
if (!settings->hideKernelThreads) {
|
||||
RichString_append(out, CRT_colors[METER_TEXT], ", ");
|
||||
snprintf(buffer, sizeof(buffer), "%d", (int)this->values[0]);
|
||||
xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[0]);
|
||||
RichString_append(out, threadValueColor, buffer);
|
||||
RichString_append(out, threadCaptionColor, " kthr");
|
||||
}
|
||||
RichString_append(out, CRT_colors[METER_TEXT], "; ");
|
||||
snprintf(buffer, sizeof(buffer), "%d", (int)this->values[3]);
|
||||
xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[3]);
|
||||
RichString_append(out, CRT_colors[TASKS_RUNNING], buffer);
|
||||
RichString_append(out, CRT_colors[METER_TEXT], " running");
|
||||
}
|
||||
|
Reference in New Issue
Block a user