NULL check after malloc

This commit is contained in:
Scott Giese 2021-02-13 22:25:31 -06:00
parent 469a28c49a
commit d1509d6096
3 changed files with 14 additions and 8 deletions

View File

@ -339,10 +339,12 @@ int main(int argc, char **argv) {
char *home = getenv("HOME"); char *home = getenv("HOME");
if (!home) home = "."; if (!home) home = ".";
path = malloc(strlen(home) + 1 + sizeof(".rblcheckrc")); path = malloc(strlen(home) + 1 + sizeof(".rblcheckrc"));
sprintf(path, "%s/.rblcheckrc", home); if (path) {
if (!addzonefile(path)) sprintf(path, "%s/.rblcheckrc", home);
addzonefile("/etc/rblcheckrc"); if (!addzonefile(path))
free(path); addzonefile("/etc/rblcheckrc");
free(path);
}
} }
} }
if (!nzones) if (!nzones)

View File

@ -67,8 +67,10 @@ void BufferedLogCallback::operator()(sgDebugClass c, sgDebugPriority p,
vector_cstring::value_type msg; vector_cstring::value_type msg;
if (aMessage.size() >= d->m_maxLength) { if (aMessage.size() >= d->m_maxLength) {
msg = (vector_cstring::value_type) malloc(d->m_maxLength); msg = (vector_cstring::value_type) malloc(d->m_maxLength);
strncpy((char*) msg, aMessage.c_str(), d->m_maxLength - 1); if (msg) {
msg[d->m_maxLength - 1] = 0; // add final NULL byte strncpy((char*) msg, aMessage.c_str(), d->m_maxLength - 1);
msg[d->m_maxLength - 1] = 0; // add final NULL byte
}
} else { } else {
msg = (vector_cstring::value_type) strdup(aMessage.c_str()); msg = (vector_cstring::value_type) strdup(aMessage.c_str());
} }

View File

@ -239,7 +239,8 @@ IPAddress::IPAddress( const IPAddress& other ) :
{ {
if (other.addr) { if (other.addr) {
addr = (struct sockaddr_in*) malloc(sizeof(struct sockaddr_in)); addr = (struct sockaddr_in*) malloc(sizeof(struct sockaddr_in));
memcpy(addr, other.addr, sizeof(struct sockaddr_in)); if (addr)
memcpy(addr, other.addr, sizeof(struct sockaddr_in));
} }
} }
@ -252,7 +253,8 @@ const IPAddress& IPAddress::operator=(const IPAddress& other)
if (other.addr) { if (other.addr) {
addr = (struct sockaddr_in*) malloc(sizeof(struct sockaddr_in)); addr = (struct sockaddr_in*) malloc(sizeof(struct sockaddr_in));
memcpy(addr, other.addr, sizeof(struct sockaddr_in)); if (addr)
memcpy(addr, other.addr, sizeof(struct sockaddr_in));
} }
return *this; return *this;