fix build errors when built against glibc
[project/unetd.git] / network.c
index 60426520f7cc4a922acaead2ab19ed8c977caf17..b39deb4c8f1c6733f843092dbba8f28e001cb635 100644 (file)
--- a/network.c
+++ b/network.c
@@ -2,6 +2,7 @@
 /*
  * Copyright (C) 2022 Felix Fietkau <nbd@nbd.name>
  */
+#define _GNU_SOURCE
 #include <arpa/inet.h>
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -127,7 +128,9 @@ static int network_load_dynamic(struct network *net)
        FILE *f = NULL;
        int ret = -1;
 
-       asprintf(&fname, "%s/%s.bin", data_dir, network_name(net));
+       if (asprintf(&fname, "%s/%s.bin", data_dir, network_name(net)) < 0)
+               return -1;
+
        f = fopen(fname, "r");
        free(fname);
 
@@ -174,7 +177,9 @@ int network_save_dynamic(struct network *net)
            !net->net_data_len)
                return -1;
 
-       asprintf(&fname, "%s/%s.bin.XXXXXXXX", data_dir, network_name(net));
+       if (asprintf(&fname, "%s/%s.bin.XXXXXXXX", data_dir, network_name(net)) < 0)
+               return -1;
+
        fd = mkstemp(fname);
        if (fd < 0)
                goto error;