summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2020-07-05 15:25:56 +0300
committerSergey Poznyakoff <gray@gnu.org>2020-07-05 15:25:56 +0300
commitb4e7704bc2176a7b98d9896f455a4657c3d13269 (patch)
treef45a335b1fb54dc94661ebf871adc02d658e159a
parent5d140780967ef5bca2a242f7606ef16c5e6be05b (diff)
downloadmailutils-b4e7704bc2.tar.gz
Bugfix
* libmailutils/imapio/getline.c (mu_imapio_getline): Don't unquote literals.
-rw-r--r--libmailutils/imapio/getline.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libmailutils/imapio/getline.c b/libmailutils/imapio/getline.c
index 4000acb..ee307e8 100644
--- a/libmailutils/imapio/getline.c
+++ b/libmailutils/imapio/getline.c
@@ -256,14 +256,16 @@ mu_imapio_getline (struct _mu_imapio *io)
io->_imap_buf_base[io->_imap_buf_level++] = 0;
free (last_arg);
- io->_imap_ws.ws_wordv[--io->_imap_ws.ws_wordc] = NULL;
- if (mu_wordsplit_len (io->_imap_buf_base, io->_imap_buf_level,
- &io->_imap_ws,
- io->_imap_ws_flags|MU_WRDSF_NOSPLIT))
+ last_arg = malloc (io->_imap_buf_level + 1);
+ if (!last_arg)
{
- rc = MU_ERR_PARSE;
+ rc = errno;
+ io->_imap_ws.ws_wordv[--io->_imap_ws.ws_wordc] = NULL;
break;
}
+ last_arg[io->_imap_buf_level] = 0;
+ memcpy (last_arg, io->_imap_buf_base, io->_imap_buf_level);
+ io->_imap_ws.ws_wordv[io->_imap_ws.ws_wordc-1] = last_arg;
}
else
break;