summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xrandr.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/xrandr.c b/xrandr.c
index 7b45f87..19ebbea 100644
--- a/xrandr.c
+++ b/xrandr.c
@@ -2641,6 +2641,8 @@ get_monitors(Bool get_active)
if (n == -1)
fatal("get monitors failed\n");
monitors = calloc(1, sizeof (monitors_t));
+ if (!monitors)
+ fatal ("out of memory\n");
monitors->n = n;
monitors->monitors = m;
}
@@ -3008,6 +3010,8 @@ main (int argc, char **argv)
if (!config_output) argerr ("%s must be used after --output\n", argv[i]);
if (i+2 >= argc) argerr ("%s requires two arguments\n", argv[i]);
prop = malloc (sizeof (output_prop_t));
+ if (!prop)
+ fatal ("out of memory\n");
prop->next = config_output->props;
config_output->props = prop;
prop->name = argv[++i];
@@ -3149,6 +3153,8 @@ main (int argc, char **argv)
umode_t *m = calloc (1, sizeof (umode_t));
double clock;
+ if (!m)
+ fatal ("out of memory\n");
++i;
if (i + 9 >= argc)
argerr ("failed to parse '%s' as a mode specification\n", argv[i]);
@@ -3190,6 +3196,8 @@ main (int argc, char **argv)
{
umode_t *m = calloc (1, sizeof (umode_t));
+ if (!m)
+ fatal ("out of memory\n");
if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]);
set_name (&m->name, argv[i], name_string|name_xid);
m->action = umode_destroy;
@@ -3203,6 +3211,8 @@ main (int argc, char **argv)
{
umode_t *m = calloc (1, sizeof (umode_t));
+ if (!m)
+ fatal ("out of memory\n");
if (i+2 >= argc) argerr ("%s requires two arguments\n", argv[i]);
set_name (&m->output, argv[++i], name_string|name_xid);
set_name (&m->name, argv[++i], name_string|name_xid);
@@ -3217,6 +3227,8 @@ main (int argc, char **argv)
{
umode_t *m = calloc (1, sizeof (umode_t));
+ if (!m)
+ fatal ("out of memory\n");
if (i+2 >= argc) argerr ("%s requires two arguments\n", argv[i]);
set_name (&m->output, argv[++i], name_string|name_xid);
set_name (&m->name, argv[++i], name_string|name_xid);
@@ -3276,6 +3288,8 @@ main (int argc, char **argv)
char *n;
char *geom;
+ if (!m)
+ fatal ("out of memory\n");
if (i+3 >= argc) argerr("%s requires three argument\n", argv[i]);
n = argv[++i];
if (*n == '*') {
@@ -3299,6 +3313,8 @@ main (int argc, char **argv)
printf ("output list %s\n", o);
for (; (t = strtok(o, ",")) != NULL; o = NULL) {
m->outputs = realloc(m->outputs, (m->noutput + 1) * sizeof (name_t));
+ if (!m->outputs)
+ fatal ("out of memory\n");
printf ("add monitor %s\n", t);
set_name(&m->outputs[m->noutput++], t, name_string|name_xid|name_index);
printf ("output name %s\n", m->outputs[m->noutput-1].string);
@@ -3314,6 +3330,8 @@ main (int argc, char **argv)
{
umonitor_t *m = calloc(1, sizeof (umonitor_t)), **l;
+ if (!m)
+ fatal ("out of memory\n");
if (++i >= argc) argerr("%s requires an argument\n", argv[i-1]);
m->name = argv[i];