mirror of
git://soft.sys114.com/klipper
synced 2026-02-10 23:48:06 +09:00
stepcompress: Fix error causing queue to not be expanded in expand_queue()
The test to check if the queue only needed to be moved was not correct and it could lead to a segfault if clean_queue() was called instead of actually increasing the queue size. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
@@ -59,11 +59,11 @@ clean_queue(struct stepcompress *sc)
|
|||||||
static void
|
static void
|
||||||
expand_queue(struct stepcompress *sc, int count)
|
expand_queue(struct stepcompress *sc, int count)
|
||||||
{
|
{
|
||||||
if (sc->queue + count <= sc->queue_end) {
|
int alloc = sc->queue_end - sc->queue;
|
||||||
|
if (count + sc->queue_next - sc->queue_pos <= alloc) {
|
||||||
clean_queue(sc);
|
clean_queue(sc);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int alloc = sc->queue_end - sc->queue;
|
|
||||||
int pos = sc->queue_pos - sc->queue;
|
int pos = sc->queue_pos - sc->queue;
|
||||||
int next = sc->queue_next - sc->queue;
|
int next = sc->queue_next - sc->queue;
|
||||||
if (!alloc)
|
if (!alloc)
|
||||||
|
|||||||
Reference in New Issue
Block a user