diff --git a/src/util/softfloat.c b/src/util/softfloat.c index 50cf098fd9f..cc386aa46fb 100644 --- a/src/util/softfloat.c +++ b/src/util/softfloat.c @@ -393,6 +393,7 @@ _mesa_shift_right_jam_m(uint8_t size_words, const uint32_t *a, uint32_t dist, ui word_jam = 0; word_dist = dist >> 5; + tmp = NULL; if (word_dist) { if (size_words < word_dist) word_dist = size_words; @@ -428,10 +429,12 @@ _mesa_shift_right_jam_m(uint8_t size_words, const uint32_t *a, uint32_t dist, ui } tmp = m_out + index_multiword_hi(size_words, word_dist); } - do { - *tmp++ = 0; - --word_dist; - } while (word_dist); + if (tmp) { + do { + *tmp++ = 0; + --word_dist; + } while (word_dist); + } if (word_jam) m_out[index_word_lo(size_words)] |= 1; }