diff options
-rw-r--r-- | src/wordsplit.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/wordsplit.c b/src/wordsplit.c index 48312bb..b38dde4 100644 --- a/src/wordsplit.c +++ b/src/wordsplit.c @@ -2687,4 +2687,6 @@ wordsplit_run (const char *command, size_t length, struct wordsplit *wsp, size_t start; + /* Initialize error context early */ + wsp->ws_errctx = NULL; if (!command) { @@ -2797,4 +2799,8 @@ void wordsplit_free (struct wordsplit *ws) { + if (ws->ws_errno == WRDSE_USAGE) + /* Usage error: the structure is not properly initialized and there's + nothing to free. */ + return; wordsplit_clearerr (ws); wordsplit_free_nodes (ws); |