diff --git a/driver/others/memory.c b/driver/others/memory.c index 0ac44f6f5..8564b285b 100644 --- a/driver/others/memory.c +++ b/driver/others/memory.c @@ -1015,7 +1015,7 @@ void *blas_memory_alloc(int procpos){ mypos = WhereAmI(); position = mypos; - while (position > NUM_BUFFERS) position >>= 1; + while (position >= NUM_BUFFERS) position >>= 1; do { if (!memory[position].used && (memory[position].pos == mypos)) { @@ -1164,8 +1164,8 @@ void blas_memory_free(void *free_area){ position = 0; LOCK_COMMAND(&alloc_lock); - while ((memory[position].addr != free_area) - && (position < NUM_BUFFERS)) position++; + while ((position < NUM_BUFFERS) && (memory[position].addr != free_area)) + position++; if (memory[position].addr != free_area) goto error;