From 0e4857a5389dfe919b18cb872f0b1d0948b4df52 Mon Sep 17 00:00:00 2001 From: Javier Sánchez Parra Date: Fri, 5 Feb 2021 11:19:41 +0100 Subject: #1019 Fix restore-image legacy string parser UMA reports that the restore image command (in queue mode) does not work, the non-queue mode works fine though. WebConsole stores queued commands in the database using the deprecated SocketHidra legacy string format and ogServer parses them with sscanf(). The restore-image command has the field "ptc" which stores a string with whitespaces, however, ogServer expects no whitespaces ("%s"). Update parser to read until carriage return, whitespaces included. --- src/rest.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rest.c b/src/rest.c index 5ca27ad..7735021 100644 --- a/src/rest.c +++ b/src/rest.c @@ -2344,7 +2344,8 @@ static int og_cmd_legacy_image_restore(const char *input, struct og_cmd *cmd) struct og_image_legacy img = {}; if (sscanf(input, - "dsk=%s\rpar=%s\ridi=%s\rnci=%s\ripr=%s\rifs=%s\rptc=%s\r", + "dsk=%s\rpar=%s\ridi=%s\rnci=%s\r" + "ipr=%s\rifs=%s\rptc=%[^\r]\r", img.disk, img.part, img.image_id, img.name, img.repo, software_id_str, restore_type_str) != 7) return -1; -- cgit v1.2.3-18-g5258