int left = x + f;
int right = x + w - f;
int top = y + f;
- int bottom = y + h + f;
+ int bottom = y + h - f;
if (p_x > right) {
x += p_x - right;
} else if (p_x < left) {
"sequence:%u resource_id:%u minor_code:%u major_code:%u.\n",
e->response_type, e->error_code,
e->sequence, e->resource_id, e->minor_code, e->major_code);
+ free(e);
return AVERROR(EACCES);
}
e->response_type, e->error_code,
e->sequence, e->resource_id, e->minor_code, e->major_code);
+ free(e);
return AVERROR(EACCES);
}
gc = xcb_get_geometry(c->conn, c->screen->root);
geo = xcb_get_geometry_reply(c->conn, gc, NULL);
+ if (!geo)
+ return AVERROR_EXTERNAL;
if (c->x + c->width > geo->width ||
c->y + c->height > geo->height) {
c->width, c->height,
c->x, c->y,
geo->width, geo->height);
+ free(geo);
return AVERROR(EINVAL);
}