X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Futil.c;h=06b6077843249ecd1b287aa4b50c097fd0433b49;hp=1ad82b27dd737d0ca056544f67056c7de9d00119;hb=c2ce6a3d82b717c4c1e6245ad8c6ce1173f502d0;hpb=821d4b6e068b2afaad94d43db22171c34a30400e diff --git a/src/shared/util.c b/src/shared/util.c index 1ad82b27d..06b607784 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -4257,6 +4257,23 @@ bool machine_name_is_valid(const char *s) { return true; } +bool image_name_is_valid(const char *s) { + if (!filename_is_valid(s)) + return false; + + if (string_has_cc(s, NULL)) + return false; + + if (!utf8_is_valid(s)) + return false; + + /* Temporary files for atomically creating new files */ + if (startswith(s, ".#")) + return false; + + return true; +} + int pipe_eof(int fd) { struct pollfd pollfd = { .fd = fd,