Merge pull request #1469 from poettering/even-more-fixed
Even more fixes
This commit is contained in:
@@ -361,6 +361,11 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
break;
|
||||
|
||||
case ARG_FDNAME:
|
||||
if (!fdname_is_valid(optarg)) {
|
||||
log_error("File descriptor name %s is not valid, refusing.", optarg);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
arg_fdname = optarg;
|
||||
break;
|
||||
|
||||
|
||||
+1
-1
@@ -784,5 +784,5 @@ rollback:
|
||||
free(nl[j]);
|
||||
|
||||
nl[k] = NULL;
|
||||
return NULL;
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
+5
-3
@@ -6849,12 +6849,14 @@ int version(void) {
|
||||
bool fdname_is_valid(const char *s) {
|
||||
const char *p;
|
||||
|
||||
/* Validates a name for $LISTEN_NAMES. We basically allow
|
||||
/* Validates a name for $LISTEN_FDNAMES. We basically allow
|
||||
* everything ASCII that's not a control character. Also, as
|
||||
* special exception the ":" character is not allowed, as we
|
||||
* use that as field separator in $LISTEN_NAMES.
|
||||
* use that as field separator in $LISTEN_FDNAMES.
|
||||
*
|
||||
* Note that the empty string is explicitly allowed here.*/
|
||||
* Note that the empty string is explicitly allowed
|
||||
* here. However, we limit the length of the names to 255
|
||||
* characters. */
|
||||
|
||||
if (!s)
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user