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:
Christian Hesse 2015-09-07 07:52:39 +02:00
parent 2df36ee2f2
commit e8970b6f32
6 changed files with 6 additions and 6 deletions

View File

@ -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 {

View File

@ -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)) {

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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;