diff options
author | Javier Sánchez Parra <jsanchez@soleta.eu> | 2021-02-05 11:19:41 +0100 |
---|---|---|
committer | OpenGnSys Support Team <soporte-og@soleta.eu> | 2021-02-08 22:36:29 +0100 |
commit | 0e4857a5389dfe919b18cb872f0b1d0948b4df52 (patch) | |
tree | 320f1faf769abf756ba20087efb20d0b67d825b2 /src | |
parent | f3905fe0f9f8186b2feaf96030946e6cdd3812db (diff) |
#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.
Diffstat (limited to 'src')
-rw-r--r-- | src/rest.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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; |