On Fri, Mar 27, 2015 at 1:06 AM, Vinson Lee <v...@freedesktop.org> wrote: > On Mon, Feb 16, 2015 at 6:14 AM, Martin Peres > <martin.pe...@linux.intel.com> wrote: >> @@ -1404,14 +1405,36 @@ _mesa_GenRenderbuffers(GLsizei n, GLuint >> *renderbuffers) >> for (i = 0; i < n; i++) { >> GLuint name = first + i; >> renderbuffers[i] = name; >> - /* insert dummy placeholder into hash table */ >> + >> + if (dsa) { >> + obj = _mesa_new_renderbuffer(ctx, name); >> + } else { >> + obj = &DummyRenderbuffer; >> + } >> + /* insert the object into the hash table */ >> mtx_lock(&ctx->Shared->Mutex); >> - _mesa_HashInsert(ctx->Shared->RenderBuffers, name, >> &DummyRenderbuffer); >> + _mesa_HashInsert(ctx->Shared->RenderBuffers, name, obj); >> mtx_unlock(&ctx->Shared->Mutex); >> } >> } >> > > This patch introduced a new Coverity unused value defect. > > returned_pointer: Assigning value from allocate_renderbuffer(ctx, > name, func) to obj here, but that stored value is overwritten before > it can be used.
Yeah, I mentioned this to Martin privately. Actually the patch above is fine. However I'm guessing that on rebasing, it became this: if (dsa) { obj = allocate_renderbuffer(ctx, name, func); } else { obj = &DummyRenderbuffer; /* insert the object into the hash table */ mtx_lock(&ctx->Shared->Mutex); _mesa_HashInsert(ctx->Shared->RenderBuffers, name, obj); mtx_unlock(&ctx->Shared->Mutex); } Which seems quite wrong -- we should move the closing } above the hash insertion, I would imagine. -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev