aboutsummaryrefslogtreecommitdiffstats
path: root/src/firejail/profile.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/firejail/profile.c')
-rw-r--r--src/firejail/profile.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/firejail/profile.c b/src/firejail/profile.c
index acf206da6..c1419aada 100644
--- a/src/firejail/profile.c
+++ b/src/firejail/profile.c
@@ -326,11 +326,24 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
326 } 326 }
327 // sandbox name 327 // sandbox name
328 else if (strncmp(ptr, "name ", 5) == 0) { 328 else if (strncmp(ptr, "name ", 5) == 0) {
329 int only_numbers = 1;
329 cfg.name = ptr + 5; 330 cfg.name = ptr + 5;
330 if (strlen(cfg.name) == 0) { 331 if (strlen(cfg.name) == 0) {
331 fprintf(stderr, "Error: invalid sandbox name\n"); 332 fprintf(stderr, "Error: invalid sandbox name\n");
332 exit(1); 333 exit(1);
333 } 334 }
335 const char *c = cfg.name;
336 while (*c) {
337 if (!isdigit(*c)) {
338 only_numbers = 0;
339 break;
340 }
341 ++c;
342 }
343 if (only_numbers) {
344 fprintf(stderr, "Error: invalid sandbox name: it only contains digits\n");
345 exit(1);
346 }
334 return 0; 347 return 0;
335 } 348 }
336 else if (strcmp(ptr, "ipc-namespace") == 0) { 349 else if (strcmp(ptr, "ipc-namespace") == 0) {