about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | 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) ```
* | | | Merge pull request #1149 from profanity-im/fix/1148-segfaultMichael Vetter2019-07-092-20/+6
|\ \ \ \ | |/ / / |/| | | Fix double free regarding iq handlers
| * | | 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
* | | | Merge pull request #1147 from paulfariello/hotfix/fix-private-message-handlingMichael Vetter2019-07-041-3/+3
|\ \ \ \ | |/ / / |/| | | | | | | Fix plaintext private message handling Regards #1144
| * | | Fix plaintext private message handlingPaul Fariello2019-07-041-3/+3
|/ / /
* | | Expand suppressiosn fileMichael Vetter2019-07-041-0/+1161
| | | | | | | | | | | | Using glib and python suppressions to filter out more false positives.
* | | 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
* | | Show MUC history on intentional reconnectMichael Vetter2019-07-034-7/+42
| | | | | | | | | | | | | | | Small bug caused by 13675fb and ce5a4ed. Fix https://github.com/profanity-im/profanity/issues/1142
* | | Ask for glib version in issue templateMichael Vetter2019-06-261-1/+2
| | |
* | | Merge pull request #1137 from paulfariello/feature/fix-omemo-trusted-stateMichael Vetter2019-06-253-10/+25
|\ \ \ | | | | | | | | Mark messages received from a session as trusted
| * | | Mark messages received from a session as trustedPaul Fariello2019-06-253-10/+25
|/ / /
* | | Add 0.7.0 changelog entryMichael Vetter2019-06-241-0/+40
| | |
* | | Merge pull request #1136 from paulfariello/hotfix/segfault_on_empty_carbonMichael Vetter2019-06-211-11/+13
|\ \ \ | | | | | | | | Fix a segfault when carbon has no body
| * | | Fix a segfault when carbon has no bodyPaul Fariello2019-06-211-11/+13
|/ / /
* | | Merge pull request #1135 from ↵Michael Vetter2019-06-214-31/+63
|\ \ \ | | | | | | | | | | | | | | | | paulfariello/hotfix/Fix_handling_of_encrypted_carbons Fix handling of encrypted carbons
| * | | Fix handling of encrypted carbonsPaul Fariello2019-06-214-31/+63
|/ / /
* | | Merge pull request #1134 from ↵Michael Vetter2019-06-211-0/+1
|\ \ \ | | | | | | | | | | | | | | | | paulfariello/hotfix/don_t_highlight_cleartext_message_as_untrusted Don t highlight cleartext message as untrusted
| * | | Don't highlight cleartext message as untrustedPaul Fariello2019-06-211-0/+1
|/ / /
* | | Merge pull request #1133 from paulfariello/hotfix/missing_message_id_segfaultMichael Vetter2019-06-211-1/+3
|\ \ \ | | | | | | | | Fix segfault when receiving messages without ID
| * | | Fix segfault when receiving messages without IDPaul Fariello2019-06-211-1/+3
|/ / /
* | | Merge pull request #1132 from paulfariello/hotfix/muc-history-segfaultMichael Vetter2019-06-211-1/+9
|\ \ \ | | | | | | | | Fix NULL pointer when handling non encrypted message in MUC
| * | | Fix NULL pointer when handling non encrypted message in MUCPaul Fariello2019-06-211-1/+9
|/ / /
* | | Merge pull request #1126 from ↵Michael Vetter2019-06-2128-338/+462
|\ \ \ | | | | | | | | | | | | | | | | paulfariello/feature/decrypt_all_incoming_OMEMO_msg Decrypt all incoming omemo msg
| * | | Rename prof_message_t into ProfMessagePaul Fariello2019-06-2015-52/+52
| | | |
| * | | Set foreground color for untrusted messagesPaul Fariello2019-06-207-9/+12
| | | |
| * | | Add prof_message_t to wrap all message attributesPaul Fariello2019-06-2020-344/+418
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Probably missing copy of body to plain in carbon and privmessage. Only covers the incoming message path because goal is OMEMO decryption of untrusted message. Cover some of the log functions but not all.
| * | | Use flags in xmmp/message.c for encryption and trustPaul Fariello2019-06-206-25/+44
| | | |
| * | | Add trusted state after OMEMO decryptionPaul Fariello2019-06-207-18/+24
| | | | | | | | | | | | | | | | Use it to print message on red background if not trusted.
| * | | Decrypt all incoming OMEMO msgPaul Fariello2019-06-203-1/+23
|/ / / | | | | | | | | | | | | Trust all key as long as it's for reading. This code isn't multithread safe.
* | | Merge pull request #1130 from profanity-im/fix/memleaksMichael Vetter2019-06-2011-13/+60
|\ \ \ | | | | | | | | Fix memory leaks
| * | | _bookmark_destroy: follow normal logicMichael Vetter2019-06-201-7/+5
| | | |
| * | | Call message_handlers_clear() upon disconnectMichael Vetter2019-06-203-0/+10
| | | | | | | | | | | | | | | | Free pubsub_event_handlers. Fix memory leaks.
| * | | Call iq_handlers_clear() upon disconnectMichael Vetter2019-06-203-0/+10
| | | | | | | | | | | | | | | | Free id_handlers. Fix memory leaks.
| * | | Free contacts in omemo_start_sessions()Michael Vetter2019-06-191-0/+1
| | | |
| * | | Free OMEMO session store upon disconnectMichael Vetter2019-06-191-0/+1
| | | |