mirror of https://github.com/xzeldon/htop.git
fix calloc() calls
* size_t nmemb (number of elements) first, then size_t size * do not assume char is size 1 but use sizeof() * allocate for char, not pointer to char (found by Michael McConville, fixes #261)
This commit is contained in:
parent
2df36ee2f2
commit
e8970b6f32
2
Header.c
2
Header.c
|
@ -89,7 +89,7 @@ void Header_writeBackToSettings(const Header* this) {
|
||||||
|
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
Meter* meter = (Meter*) Vector_get(vec, i);
|
Meter* meter = (Meter*) Vector_get(vec, i);
|
||||||
char* name = calloc(64, sizeof(char*));
|
char* name = calloc(64, sizeof(char));
|
||||||
if (meter->param) {
|
if (meter->param) {
|
||||||
snprintf(name, 63, "%s(%d)", As_Meter(meter)->name, meter->param);
|
snprintf(name, 63, "%s(%d)", As_Meter(meter)->name, meter->param);
|
||||||
} else {
|
} else {
|
||||||
|
|
2
Panel.c
2
Panel.c
|
@ -455,7 +455,7 @@ bool Panel_onKey(Panel* this, int key) {
|
||||||
HandlerResult Panel_selectByTyping(Panel* this, int ch) {
|
HandlerResult Panel_selectByTyping(Panel* this, int ch) {
|
||||||
int size = Panel_size(this);
|
int size = Panel_size(this);
|
||||||
if (!this->eventHandlerState)
|
if (!this->eventHandlerState)
|
||||||
this->eventHandlerState = calloc(100, 1);
|
this->eventHandlerState = calloc(100, sizeof(char));
|
||||||
char* buffer = this->eventHandlerState;
|
char* buffer = this->eventHandlerState;
|
||||||
|
|
||||||
if (ch < 255 && isalnum(ch)) {
|
if (ch < 255 && isalnum(ch)) {
|
||||||
|
|
|
@ -39,7 +39,7 @@ ProcessClass DarwinProcess_class = {
|
||||||
};
|
};
|
||||||
|
|
||||||
DarwinProcess* DarwinProcess_new(Settings* settings) {
|
DarwinProcess* DarwinProcess_new(Settings* settings) {
|
||||||
DarwinProcess* this = calloc(sizeof(DarwinProcess), 1);
|
DarwinProcess* this = calloc(1, sizeof(DarwinProcess));
|
||||||
Object_setClass(this, Class(DarwinProcess));
|
Object_setClass(this, Class(DarwinProcess));
|
||||||
Process_init(&this->super, settings);
|
Process_init(&this->super, settings);
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ ProcessPidColumn Process_pidColumns[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
FreeBSDProcess* FreeBSDProcess_new(Settings* settings) {
|
FreeBSDProcess* FreeBSDProcess_new(Settings* settings) {
|
||||||
FreeBSDProcess* this = calloc(sizeof(FreeBSDProcess), 1);
|
FreeBSDProcess* this = calloc(1, sizeof(FreeBSDProcess));
|
||||||
Object_setClass(this, Class(FreeBSDProcess));
|
Object_setClass(this, Class(FreeBSDProcess));
|
||||||
Process_init(&this->super, settings);
|
Process_init(&this->super, settings);
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -242,7 +242,7 @@ ProcessClass LinuxProcess_class = {
|
||||||
};
|
};
|
||||||
|
|
||||||
LinuxProcess* LinuxProcess_new(Settings* settings) {
|
LinuxProcess* LinuxProcess_new(Settings* settings) {
|
||||||
LinuxProcess* this = calloc(sizeof(LinuxProcess), 1);
|
LinuxProcess* this = calloc(1, sizeof(LinuxProcess));
|
||||||
Object_setClass(this, Class(LinuxProcess));
|
Object_setClass(this, Class(LinuxProcess));
|
||||||
Process_init(&this->super, settings);
|
Process_init(&this->super, settings);
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -17,7 +17,7 @@ in the source distribution for its full text.
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
Process* UnsupportedProcess_new(Settings* settings) {
|
Process* UnsupportedProcess_new(Settings* settings) {
|
||||||
Process* this = calloc(sizeof(Process), 1);
|
Process* this = calloc(1, sizeof(Process));
|
||||||
Object_setClass(this, Class(Process));
|
Object_setClass(this, Class(Process));
|
||||||
Process_init(this, settings);
|
Process_init(this, settings);
|
||||||
return this;
|
return this;
|
||||||
|
|
Loading…
Reference in New Issue