Fix segfault when calling "i3 -C".
Commit 287a0b4
introduced a segfault when validating the i3 config
as the root_screen will not be set in this case, causing a null
pointer dereference.
fixes #2144
This commit is contained in:
@ -5,6 +5,7 @@ use strict;
|
||||
use warnings;
|
||||
use Exporter 'import';
|
||||
use Time::HiRes qw(sleep);
|
||||
use i3test::Util qw(slurp);
|
||||
use v5.10;
|
||||
|
||||
our @EXPORT = qw(start_xserver);
|
||||
@ -12,13 +13,6 @@ our @EXPORT = qw(start_xserver);
|
||||
my @pids;
|
||||
my $x_socketpath = '/tmp/.X11-unix/X';
|
||||
|
||||
# reads in a whole file
|
||||
sub slurp {
|
||||
open(my $fh, '<', shift) or return '';
|
||||
local $/;
|
||||
<$fh>;
|
||||
}
|
||||
|
||||
# forks an X server process
|
||||
sub fork_xserver {
|
||||
my $keep_xserver_output = shift;
|
||||
@ -86,8 +80,11 @@ sub start_xserver {
|
||||
|
||||
# Yeah, I know it’s non-standard, but Perl’s POSIX module doesn’t have
|
||||
# _SC_NPROCESSORS_CONF.
|
||||
my $cpuinfo = slurp('/proc/cpuinfo');
|
||||
my $num_cores = scalar grep { /model name/ } split("\n", $cpuinfo);
|
||||
my $num_cores;
|
||||
if (-e '/proc/cpuinfo') {
|
||||
my $cpuinfo = slurp('/proc/cpuinfo');
|
||||
$num_cores = scalar grep { /model name/ } split("\n", $cpuinfo);
|
||||
}
|
||||
# If /proc/cpuinfo does not exist, we fall back to 2 cores.
|
||||
$num_cores ||= 2;
|
||||
|
||||
|
Reference in New Issue
Block a user