]> git.meshlink.io Git - meshlink/blobdiff - src/conf.c
Update UTCP to allow meshlink_channel_send() immediately.
[meshlink] / src / conf.c
index fcaefdd27ff8a122fff0b0fa70dc127cb1666f91..5d5c46c144dd14fcd8576f2393a07cdf770a5ed9 100644 (file)
@@ -431,8 +431,15 @@ bool modify_config_file(struct meshlink_handle *mesh, const char *name, const ch
        char tmpname[PATH_MAX];
        bool error = false;
 
-       snprintf(filename, sizeof(filename), "%s" SLASH "hosts" SLASH "%s", mesh->confbase, name);
-       snprintf(tmpname, sizeof(tmpname), "%s.tmp", filename);
+       if(snprintf(filename, sizeof(filename), "%s" SLASH "hosts" SLASH "%s", mesh->confbase, name) >= PATH_MAX) {
+               logger(mesh, MESHLINK_ERROR, "Filename too long: %s" SLASH "hosts" SLASH "%s", mesh->confbase, name);
+               return false;
+       }
+
+       if(snprintf(tmpname, sizeof(tmpname), "%s.tmp", filename) >= PATH_MAX) {
+               logger(mesh, MESHLINK_ERROR, "Filename too long: %s.tmp", filename);
+               return false;
+       }
 
        FILE *fr = fopen(filename, "r");