diff options
Diffstat (limited to 'src/librc/librc.c')
-rw-r--r-- | src/librc/librc.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/librc/librc.c b/src/librc/librc.c index 5cf4898f..8b4e8d4e 100644 --- a/src/librc/librc.c +++ b/src/librc/librc.c @@ -228,8 +228,13 @@ static const char * detect_container(const char *systype) { #ifdef __FreeBSD__ - if (systype && strcmp(systype, RC_SYS_JAIL) == 0) - return RC_SYS_JAIL; + if (systype) { + if (strcmp(systype, RC_SYS_NONE) == 0) + return NULL; + if (strcmp(systype, RC_SYS_JAIL) == 0) + return RC_SYS_JAIL; + } + int jailed = 0; size_t len = sizeof(jailed); @@ -240,6 +245,8 @@ detect_container(const char *systype) #ifdef __linux__ if (systype) { + if (strcmp(systype, RC_SYS_NONE) == 0) + return NULL; if (strcmp(systype, RC_SYS_UML) == 0) return RC_SYS_UML; if (strcmp(systype, RC_SYS_VSERVER) == 0) @@ -283,6 +290,8 @@ detect_vm(const char *systype) { #ifdef __NetBSD__ if (systype) { + if (strcmp(systype, RC_SYS_NONE) == 0) + return NULL; if (strcmp(systype, RC_SYS_XEN0) == 0) return RC_SYS_XEN0; if (strcmp(systype, RC_SYS_XENU) == 0) @@ -296,6 +305,8 @@ detect_vm(const char *systype) #ifdef __linux__ if (systype) { + if (strcmp(systype, RC_SYS_NONE) == 0) + return NULL; if (strcmp(systype, RC_SYS_XEN0) == 0) return RC_SYS_XEN0; if (strcmp(systype, RC_SYS_XENU) == 0) |