]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
fix build errors in DLZ modules
authorEvan Hunt <each@isc.org>
Thu, 20 Feb 2020 05:53:30 +0000 (21:53 -0800)
committerEvan Hunt <each@isc.org>
Fri, 21 Feb 2020 17:18:58 +0000 (09:18 -0800)
contrib/dlz/modules/filesystem/dir.h
contrib/dlz/modules/mysqldyn/dlz_mysqldyn_mod.c

index e93dd5931c71e312a8167b7ac62f0b31fda7fd66..9b1c445610cad0c03042e22b8c03b5950d224b15 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <dirent.h>
 
+#include <dlz_minimal.h>
 #include <sys/types.h>
 
 #define DIR_NAMEMAX 256
index 59a0d040354dac0876983dec696f07bcca9b24db..47acb7c903fe56cf4efe996dad5d09de196a6980 100644 (file)
@@ -838,7 +838,9 @@ notify(mysql_data_t *state, const char *zone, int sn) {
 static mysql_record_t *
 makerecord(mysql_data_t *state, const char *name, const char *rdatastr) {
        mysql_record_t *new_record;
-       char *real_name, *dclass, *type, *data, *ttlstr, *buf;
+       char *real_name = NULL, *dclass = NULL, *type = NULL;
+       char *data = NULL, *ttlstr = NULL, *buf = NULL;
+       char *saveptr = NULL;
        dns_ttl_t ttlvalue;
 
        new_record = (mysql_record_t *)malloc(sizeof(mysql_record_t));
@@ -1174,7 +1176,7 @@ dlz_lookup(const char *zone, const char *name, void *dbdata,
                }
 
                while ((row = mysql_fetch_row(res)) != NULL) {
-                       char host[1024], admin[1024], data[1024];
+                       char host[1024], admin[1024], data[4096];
                        int ttl;
 
                        sscanf(row[7], "%d", &ttl);
@@ -1182,9 +1184,9 @@ dlz_lookup(const char *zone, const char *name, void *dbdata,
                        fqhn(row[1], zone, admin);
 
                        /* zone admin serial refresh retry expire min */
-                       sprintf(data, "%s%s %s%s %s %s %s %s %s", host,
-                               dot(host), admin, dot(admin), row[2], row[3],
-                               row[4], row[5], row[6]);
+                       snprintf(data, sizeof(data), "%s%s %s%s %s %s %s %s %s",
+                                host, dot(host), admin, dot(admin), row[2],
+                                row[3], row[4], row[5], row[6]);
 
                        result = state->putrr(lookup, "soa", ttl, data);
                        if (result != ISC_R_SUCCESS) {