Re: [PATCH] drm/radeon: fix uninitialized variable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 29.02.2012 00:23, Jerome Glisse wrote:
On Tue, 2012-02-28 at 23:19 +0100, Christian König wrote:
Without this fix the driver randomly treats
textures as arrays and I'm really wondering
why gcc isn't complaining about it.

Signed-off-by: Christian König<deathsimple@xxxxxxxxxxx>
---
  drivers/gpu/drm/radeon/r600_cs.c |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
index 38ce5d0..387fcc9 100644
--- a/drivers/gpu/drm/radeon/r600_cs.c
+++ b/drivers/gpu/drm/radeon/r600_cs.c
@@ -1304,6 +1304,7 @@ static int r600_check_texture_resource(struct radeon_cs_parser *p,  u32 idx,
  	h0 = G_038004_TEX_HEIGHT(word1) + 1;
  	d0 = G_038004_TEX_DEPTH(word1);
  	nfaces = 1;
+	array = 0;
  	switch (G_038000_DIM(word0)) {
  	case V_038000_SQ_TEX_DIM_1D:
  	case V_038000_SQ_TEX_DIM_2D:
I think if array field are properly initialized this shouldn't be an
issue. But anyway this patch is needed.

Reviewed-by: Jerome Glisse<jglisse@xxxxxxxxxx>
Yes indeed, and that is also how I stumbled over this bug. It might be problematic for cubemaps, since I don't know how base_array and last_array are initialized there.

Anyway, what concerns me more is why gcc isn't complaining about it? It's quite obvious that the "if" is depending on an uninitialized value here.

Aren't we compiling with "-Wuninitialized" or is it just not work correctly?

Christian.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux