diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2021-09-22 22:43:18 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2021-09-22 22:43:18 +0200 |
commit | 3313fc410be0ffabae019de644f041064b054142 (patch) | |
tree | 6a88a956a749ff1bac2939c611043b60810e917c /src | |
parent | 50346b1d0fcd69a0be37fc5dfd2f5ec65ae58c28 (diff) | |
download | dns-3313fc410be0ffabae019de644f041064b054142.tar.gz |
record/zonefile: malloc checks
Diffstat (limited to 'src')
-rw-r--r-- | src/record.c | 4 | ||||
-rw-r--r-- | src/zonefile.c | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/record.c b/src/record.c index e323718..e6e70dc 100644 --- a/src/record.c +++ b/src/record.c @@ -155,11 +155,13 @@ static ssize_t record_rdata_a(char* _str, void** _rdata) { len = strlen(_str) + 1; str = malloc(len); + if ( !str ) + return -1; strncpy(str, _str, len); *_rdata = malloc(4); if ( !*_rdata ) - return -1; + goto err; tok = strtok(str, "."); if( !tok ) diff --git a/src/zonefile.c b/src/zonefile.c index 1b0d036..1701ff8 100644 --- a/src/zonefile.c +++ b/src/zonefile.c @@ -52,6 +52,10 @@ int zonefile_parse_line(database_t *_database, char *_line) { return -1; } qname = malloc( (unsigned)fqdn_len+2 ); + if( !qname ) { + LOGPRINTF(_LOG_ERRNO, "malloc()"); + return -1; + } if ( fqdn_to_qname(parts[0], fqdn_len, qname, fqdn_len+2) < 0) { LOGPRINTF(_LOG_ERROR, "Failed to convert to QNAME. This is a bug."); return -1; |