about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Don't print subscribed message if contact is already in rosterMichael Vetter2019-08-011-2/+6
| | | | | | | | | | | This occured with a user running Cisco Jabber. It seems this server sends repeated presence subscribed stanzas. And although I find this strange according to RFC this seems to be ok. So let's filter them and only display in the console output and to the log. But don't open seperate windows. Fix https://github.com/profanity-im/profanity/issues/1165
* Merge pull request #1163 from paulfariello/hotfix/command-execMichael Vetter2019-07-301-0/+7
|\ | | | | Fix memleak in /cmd exec
| * Fix memleak in /cmd execPaul Fariello2019-07-301-0/+7
| |
* | Merge pull request #1161 from profanity-im/fix/omemo-leakMichael Vetter2019-07-302-2/+4
|\ \ | |/ |/| Fix memleaks in OMEMO
| * Fix memleak in save_identity()Michael Vetter2019-07-231-1/+1
| | | | | | | | I don't see a reason for strdupping here.
| * Fix potential leak in omemo_untrust()Michael Vetter2019-07-231-0/+2
| |
| * Dont use not needed strdup() in save_identity()Michael Vetter2019-07-231-1/+1
| | | | | | | | I don't see a reason for strdupping here.
* | Fix command form submitPaul Fariello2019-07-301-1/+1
|/ | | | | Command form userdata were freed by iq_id_handler. We should now free the command ourself.
* Make sure result is always set for otr_get_policy()Michael Vetter2019-07-231-1/+1
|
* Merge pull request #1160 from profanity-im/fix/1159-groupaddsegfaultMichael Vetter2019-07-221-4/+0
|\ | | | | Fix segfault in group add/remove command
| * Fix segfault in group add/remove commandMichael Vetter2019-07-221-4/+0
| | | | | | | | | | Also regarding destructor. Fix https://github.com/profanity-im/profanity/issues/1159
* | Fix memleak in roster_change_name()Michael Vetter2019-07-221-2/+2
| |
* | Fix 3 leaks in cmd_funcsMichael Vetter2019-07-221-0/+4
| |
* | Fix several memleaks im cmd_ac.cMichael Vetter2019-07-221-0/+6
| | | | | | | | Exiting without freeing in some cases.
* | Fix memleak in roster_removeMichael Vetter2019-07-221-1/+1
| | | | | | | | strdup() is not needed here but will actually lead to a memleak.
* | Fix memory leak in roster_update()Michael Vetter2019-07-221-1/+2
| | | | | | | | current_name should not be const and should be freed.
* | Remove dead assignmentsMichael Vetter2019-07-222-2/+2
| |
* | Remove unused assignmentsMichael Vetter2019-07-222-2/+1
| |
* | Fix double initialization of loop iteratorMichael Vetter2019-07-222-3/+0
| |
* | Guard against arg being NULL in cmd_funcsMichael Vetter2019-07-221-0/+20
| | | | | | | | | | | | | | | | This should actually never happen because we have the mechanism that checks the commands. But let's do it in case we break something in that mechanism and to make clang happy. Fixes clangs: 'Argument with 'nonnull' attribute passed null'
* | Reduce scope of num in ui_print_system_msg_from_recipient()Michael Vetter2019-07-221-3/+1
| |
* | Merge pull request #1154 from optmzr/issue-1099Michael Vetter2019-07-203-47/+84
|\ \ | |/ |/| Always check for directory changes with sendfile auto completion
| * Always check for directory changes with sendfile auto completionWilliam Wennerström2019-07-203-47/+84
| | | | | | | | | | | | | | | | | | | | Instead of only checking for files when 'last_directory' has changed, do it every time. Add autocomplete_update function that updates the items while retaining last_found and search_str. Fixes #1099
* | Fix segfault in block commandMichael Vetter2019-07-191-6/+0
| | | | | | | | | | | | Another case of double free() due to new destructor. Fixes https://github.com/profanity-im/profanity/issues/1156
* | Fixup for last commitMichael Vetter2019-07-121-1/+0
| |
* | Fix segfault in iq_{submit,cancel}_command_configMichael Vetter2019-07-121-6/+0
| | | | | | | | Taken care of by the destructor.
* | Fix segfault in /cmd execMichael Vetter2019-07-121-0/+5
| | | | | | | | Test for correct number of arguments before using argument.
* | Merge pull request #1150 from paulfariello/hotfix/omemo-memleaksMichael Vetter2019-07-115-5/+36
|\ \ | | | | | | | | | | | | Hotfix/omemo memleaks Regards https://github.com/profanity-im/profanity/issues/1131
| * | Dirty fix libgcrypt memleakPaul Fariello2019-07-111-0/+5
| | |
| * | Enable secure memory in gcrypt initialisationPaul Fariello2019-07-111-0/+6
| | |
| * | Fix various OMEMO memleaksPaul Fariello2019-07-104-5/+25
| | |
* | | Fix some more potential double freesMichael Vetter2019-07-111-34/+0
|/ / | | | | | | Regards https://github.com/profanity-im/profanity/issues/1148
* | Fix jump depending on uninit. value in statusbarMichael Vetter2019-07-101-1/+1
| |
* | Reduce codelines in form.cMichael Vetter2019-07-101-16/+2
| | | | | | | | | | Let's use calloc instead of malloc and then setting almost all fields to NULL.
* | Fix double free in roster_process_pending_presenceMichael Vetter2019-07-101-1/+0
| | | | | | | | This is taken care of now in the destructor _pendingPresence_free().
* | Add destructor for roster_pending_presenceMichael Vetter2019-07-091-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: ``` ==18682== 408 bytes in 17 blocks are definitely lost in loss record 3,279 of 3,632 ==18682== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==18682== by 0x42F602: roster_update_presence (roster_list.c:129) ==18682== by 0x448AA3: sv_ev_contact_online (server_events.c:906) ==18682== by 0x43D2BA: _available_handler (presence.c:674) ==18682== by 0x43C81B: _presence_handler (presence.c:398) ==18682== by 0x5AF118E: handler_fire_stanza (handler.c:124) ==18682== by 0x5AEDBDA: _handle_stream_stanza (conn.c:1253) ==18682== by 0x5AFA43E: _end_element (parser_expat.c:190) ==18682== by 0x6818AA4: doContent (xmlparse.c:2977) ==18682== by 0x681A3AB: contentProcessor (xmlparse.c:2552) ==18682== by 0x681D7EB: XML_ParseBuffer (xmlparse.c:1988) ==18682== by 0x681D7EB: XML_ParseBuffer (xmlparse.c:1957) ==18682== by 0x5AF0A63: xmpp_run_once (event.c:255) ==18682== by 0x432E5D: connection_check_events (connection.c:104) ==18682== by 0x4323B3: session_process_events (session.c:255) ==18682== by 0x42C097: prof_run (profanity.c:128) ==18682== by 0x4B25B9: main (main.c:172) ```
* | Fix double free in room id handlerMichael Vetter2019-07-091-6/+1
| | | | | | | | | | Free is done in destructor now. Regards https://github.com/profanity-im/profanity/issues/1148
* | Fix double free in omemo_start_device_session_handle_bundle()Michael Vetter2019-07-081-0/+1
| | | | | | | | | | | | | | | | | | omemo_key_free() was called to free the key. It free the key->data too. But in same cases this was not set yet. So we need to set the data to NULL (or use calloc) at initialization so that omemo_key_free() only frees it if it was actually allocated. Regards https://github.com/profanity-im/profanity/issues/1148
* | Fix double free regarding iq handlersMichael Vetter2019-07-081-14/+4
|/
* Merge pull request #1146 from profanity-im/fix/omemoleaks-autocomplMichael Vetter2019-07-045-27/+72
|\ | | | | Fix several OMEMO related leaks
| * Free iq_id_handlers correctlyMichael Vetter2019-07-041-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so far only the key part was freed. We also need to free the actual handler. Fix: ``` ==21171== 1,128 bytes in 47 blocks are definitely lost in loss record 3,476 of 3,670 ==21171== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==21171== by 0x434248: iq_id_handler_add (iq.c:265) ==21171== by 0x4B122E: omemo_devicelist_request (omemo.c:46) ==21171== by 0x4AC411: omemo_start_session (omemo.c:409) ==21171== by 0x4AC37C: omemo_start_sessions (omemo.c:396) ==21171== by 0x447881: sv_ev_roster_received (server_events.c:189) ==21171== by 0x444019: roster_result_handler (roster.c:312) ==21171== by 0x433FC2: _iq_handler (iq.c:202) ==21171== by 0x5AF118E: ??? (in /usr/lib64/libmesode.so.0.0.0) ==21171== by 0x5AEDBDA: ??? (in /usr/lib64/libmesode.so.0.0.0) ==21171== by 0x5AFA43E: ??? (in /usr/lib64/libmesode.so.0.0.0) ==21171== by 0x6818AA4: ??? (in /usr/lib64/libexpat.so.1.6.8) ==21171== by 0x681A3AB: ??? (in /usr/lib64/libexpat.so.1.6.8) ==21171== by 0x681D7EB: XML_ParseBuffer (in /usr/lib64/libexpat.so.1.6.8) ==21171== by 0x5AF0A63: xmpp_run_once (in /usr/lib64/libmesode.so.0.0.0) ==21171== by 0x432E5D: connection_check_events (connection.c:104) ==21171== by 0x4323B3: session_process_events (session.c:255) ==21171== by 0x42C097: prof_run (profanity.c:128) ==21171== by 0x4B2627: main (main.c:172) ```
| * Free key on error in omemo_start_device_session_handle_bundle()Michael Vetter2019-07-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: ``` ==20561== 32 bytes in 1 blocks are definitely lost in loss record 1,467 of 3,678 ==20561== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==20561== by 0x4B16C9: omemo_start_device_session_handle_bundle (omemo.c:167) ==20561== by 0x43405E: _iq_handler (iq.c:214) ==20561== by 0x5AF118E: ??? (in /usr/lib64/libmesode.so.0.0.0) ==20561== by 0x5AEDBDA: ??? (in /usr/lib64/libmesode.so.0.0.0) ==20561== by 0x5AFA43E: ??? (in /usr/lib64/libmesode.so.0.0.0) ==20561== by 0x6818AA4: ??? (in /usr/lib64/libexpat.so.1.6.8) ==20561== by 0x681A3AB: ??? (in /usr/lib64/libexpat.so.1.6.8) ==20561== by 0x681D7EB: XML_ParseBuffer (in /usr/lib64/libexpat.so.1.6.8) ==20561== by 0x5AF0A63: xmpp_run_once (in /usr/lib64/libmesode.so.0.0.0) ==20561== by 0x432E5D: connection_check_events (connection.c:104) ==20561== by 0x4323B3: session_process_events (session.c:255) ==20561== by 0x42C097: prof_run (profanity.c:128) ==20561== by 0x4B260D: main (main.c:172) ```
| * Rework omemo_start_device_session_handle_bundle exitMichael Vetter2019-07-041-24/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some conditions we just returned without freeing allocated variables. Should fix following valgrind reported leak: ``` ==17941== 19 bytes in 1 blocks are definitely lost in loss record 613 of 3,674 ==17941== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17941== by 0x5BB0DAA: strdup (strdup.c:42) ==17941== by 0x4B1592: omemo_start_device_session_handle_bundle (omemo.c:126) ==17941== by 0x43405E: _iq_handler (iq.c:214) ==17941== by 0x5AF118E: ??? (in /usr/lib64/libmesode.so.0.0.0) ==17941== by 0x5AEDBDA: ??? (in /usr/lib64/libmesode.so.0.0.0) ==17941== by 0x5AFA43E: ??? (in /usr/lib64/libmesode.so.0.0.0) ==17941== by 0x6818AA4: ??? (in /usr/lib64/libexpat.so.1.6.8) ==17941== by 0x681A3AB: ??? (in /usr/lib64/libexpat.so.1.6.8) ==17941== by 0x681D7EB: XML_ParseBuffer (in /usr/lib64/libexpat.so.1.6.8) ==17941== by 0x5AF0A63: xmpp_run_once (in /usr/lib64/libmesode.so.0.0.0) ==17941== by 0x432E5D: connection_check_events (connection.c:104) ==17941== by 0x4323B3: session_process_events (session.c:255) ==17941== by 0x42C097: prof_run (profanity.c:128) ==17941== by 0x4B2610: main (main.c:172) ```
| * Free omemo_ctx.device_list_handlerMichael Vetter2019-07-041-0/+1
| |
| * Dont initialize omemo autocompleter twiceMichael Vetter2019-07-041-2/+0
| | | | | | | | | | We already do this in omemo_init() no need to do it again in omemo_on_connect().
| * Add omemo_close functionMichael Vetter2019-07-043-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We call omemo_init() when starting profanity and should have an omemo_close() at exit. For now we free the fingerprint autocompleter in there. Fixes valgrind: ``` ==13226== 24 bytes in 1 blocks are definitely lost in loss record 2,855 of 6,958 ==13226== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==13226== by 0x48AD39: autocomplete_new (autocomplete.c:57) ==13226== by 0x4AB89F: omemo_init (omemo.c:127) ==13226== by 0x42C283: _init (profanity.c:206) ==13226== by 0x42BFF3: prof_run (profanity.c:98) ==13226== by 0x4B25E6: main (main.c:172) ``` Regards https://github.com/profanity-im/profanity/issues/1131
* | Fix plaintext private message handlingPaul Fariello2019-07-041-3/+3
|/
* Use correct jid variableMichael Vetter2019-07-031-1/+1
|
* Define goto out in _private_chat_handler()Michael Vetter2019-07-031-0/+1
|
* Set plain message in _private_chat_handlerMichael Vetter2019-07-031-0/+7
| | | | | | In case that plain is NULL we need to copy over from body. Fix https://github.com/profanity-im/profanity/issues/1144