From: chl Date: Mon, 1 Sep 2008 19:18:30 +0000 (+0000) Subject: avoid loosing return value from copyin, and properly return it. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=05d3e6ddecc16fd243ae9f47f2af75441c2b0aff;p=openbsd avoid loosing return value from copyin, and properly return it. initial patch from me, reworked by oga@. found by LLVM/Clang Static Analyzer. ok oga@ --- diff --git a/sys/dev/pci/drm/drm_drawable.c b/sys/dev/pci/drm/drm_drawable.c index be4444bda42..4d6e1929a90 100644 --- a/sys/dev/pci/drm/drm_drawable.c +++ b/sys/dev/pci/drm/drm_drawable.c @@ -171,7 +171,7 @@ drm_update_draw(struct drm_device *dev, void *data, struct drm_file *file_priv) /* For some reason the pointer arg is unsigned long long. */ ret = copyin((void *)(intptr_t)update->data, info->rects, sizeof(*info->rects) * info->num_rects); - DRM_SPINUNLOCK(&dev->drw_lock); + break; default: ret = EINVAL; }