From 6627adcbc2d2ade8db1fd2ed26e03d37b53fde62 Mon Sep 17 00:00:00 2001 From: sinanmohd Date: Thu, 13 Jun 2024 17:27:08 +0530 Subject: util/json_streaming_read: properly handle EOF --- src/jobs.c | 2 +- src/queue.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/jobs.c b/src/jobs.c index b5fd31c..0205c71 100644 --- a/src/jobs.c +++ b/src/jobs.c @@ -141,7 +141,7 @@ int job_read(FILE *stream, struct job **job) char *drv_path = NULL; ret = json_streaming_read(stream, &root); - if (ret < 0) + if (ret < 0 || ret == -EOF) return ret; temp = cJSON_GetObjectItemCaseSensitive(root, "name"); diff --git a/src/queue.c b/src/queue.c index 5c196aa..6bf9092 100644 --- a/src/queue.c +++ b/src/queue.c @@ -16,9 +16,10 @@ void *queue_thread_entry(void *queue_thread) while (true) { ret = job_read(qt->stream, &job); - if (ret < 0) { - if (ret == -EOF) - ret = 0; + if (ret == -EOF) { + ret = 0; + break; + } else if (ret < 0) { break; } -- cgit v1.2.3