From 1c4b25a2b1c31df190eab173128702d1b5871906 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 30 May 2008 13:49:39 +1000 Subject: drm: fix a couple of bugs in the encoder return to userspace --- libdrm/xf86drmMode.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libdrm/xf86drmMode.c') diff --git a/libdrm/xf86drmMode.c b/libdrm/xf86drmMode.c index 78efe827..0824ec3f 100644 --- a/libdrm/xf86drmMode.c +++ b/libdrm/xf86drmMode.c @@ -167,6 +167,7 @@ drmModeResPtr drmModeGetResources(int fd) r->count_fbs = res.count_fbs; r->count_crtcs = res.count_crtcs; r->count_outputs = res.count_outputs; + r->count_encoders = res.count_encoders; /* TODO we realy should test if these allocs fails. */ r->fbs = drmAllocCpy(U642VOID(res.fb_id_ptr), res.count_fbs, sizeof(uint32_t)); r->crtcs = drmAllocCpy(U642VOID(res.crtc_id_ptr), res.count_crtcs, sizeof(uint32_t)); @@ -358,6 +359,9 @@ drmModeEncoderPtr drmModeGetEncoder(int fd, uint32_t encoder_id) if (ioctl(fd, DRM_IOCTL_MODE_GETENCODER, &enc)) return 0; + if (!(r = drmMalloc(sizeof(*r)))) + return 0; + r->encoder_type = enc.encoder_type; r->crtcs = enc.crtcs; r->clones = enc.clones; -- cgit v1.2.3