diff options
author | Michael Vetter <jubalh@iodoru.org> | 2021-06-30 12:27:11 +0200 |
---|---|---|
committer | Michael Vetter <jubalh@iodoru.org> | 2021-06-30 12:27:11 +0200 |
commit | a46c4443e352d9eada02670125ea5f028559be21 (patch) | |
tree | 08fb65f25637802d222c9812875c68ca285bdbf0 | |
parent | f30a9e125649b4a7623845d520bdb40ef39dfd8f (diff) | |
download | profani-tty-a46c4443e352d9eada02670125ea5f028559be21.tar.gz |
Fix segfault when aesgcm url isn't the expected size
Fixes the bug mentioned in https://github.com/profanity-im/profanity/issues/1478#issuecomment-794161606 The rest of https://github.com/profanity-im/profanity/issues/1478 I can't reproduce. Seems to work fine.
-rw-r--r-- | src/omemo/omemo.c | 1 | ||||
-rw-r--r-- | src/tools/aesgcm_download.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/omemo/omemo.c b/src/omemo/omemo.c index b0d2d8aa..560a3473 100644 --- a/src/omemo/omemo.c +++ b/src/omemo/omemo.c @@ -1862,6 +1862,7 @@ omemo_parse_aesgcm_url(const char* aesgcm_url, } if (strlen(*fragment) != AESGCM_URL_NONCE_LEN + AESGCM_URL_KEY_LEN) { + ret = 1; goto out; } diff --git a/src/tools/aesgcm_download.c b/src/tools/aesgcm_download.c index 864da6b7..45aa7b66 100644 --- a/src/tools/aesgcm_download.c +++ b/src/tools/aesgcm_download.c @@ -70,6 +70,7 @@ aesgcm_file_get(void* userdata) // Convert the aesgcm:// URL to a https:// URL and extract the encoded key // and tag stored in the URL fragment. if (omemo_parse_aesgcm_url(aesgcm_dl->url, &https_url, &fragment) != 0) { + cons_show_error("Download failed: Cannot parse URL '%s'.", aesgcm_dl->url); http_print_transfer_update(aesgcm_dl->window, aesgcm_dl->url, "Download failed: Cannot parse URL '%s'.", aesgcm_dl->url); |