Michael Vetter c24cdcd671 fix: Fix -Wanalyzer-deref-before-check warning in cmd_ac_complete
Adding an explicit NULL check for 'input' at the start of
cmd_ac_complete to prevent a potential crash and resolve
a GCC static analyzer warning.

Quirk Explanation:
The analyzer found  a "deref-before-check" warning for:
`if ((strncmp(input, "/", 1) == 0) && (!strchr(input, ' ')))`

The analyzer interpreted 'strchr(input, ' ')' as a point where the
validity of 'input' is being questioned (a "check"), even though it is
actually checking the return value. This is due to GCC's internal model
of certain standard string functions having a 'nonnull' attribute or
being categorized as pointer "interrogations" in its state machine.

Because 'strncmp' dereferences 'input' earlier in the same line, the
analyzer saw a logical contradiction: "You treat it as safe in strncmp,
but then you call a function (strchr) that 'requires/checks' it to be
safe, implying you weren't sure."
2026-02-28 09:44:27 +01:00
2021-12-24 13:49:07 +01:00
2026-02-23 10:44:08 +01:00
2016-03-09 12:55:57 +01:00
2025-03-11 12:15:09 +01:00
2026-02-27 23:01:14 +01:00
2022-02-01 15:01:28 +01:00
2026-02-05 09:13:40 +01:00
2025-01-28 16:43:13 +01:00
2026-02-23 10:30:36 +01:00
2026-02-23 10:44:08 +01:00
2025-01-28 16:43:13 +01:00
2021-08-26 00:30:55 +00:00
2025-04-16 11:06:49 +02:00
2025-03-11 12:15:09 +01:00
2025-03-11 12:15:09 +01:00
2019-04-24 01:08:38 +02:00
2026-02-28 09:29:44 +01:00
2025-03-11 12:15:09 +01:00
2025-08-22 09:23:01 +02:00
2026-02-05 16:48:50 +01:00
2023-03-10 11:20:59 +01:00
2020-05-21 09:16:18 +02:00

Profanity

Build Status GitHub contributors Packaging status

Profanity is a console based XMPP client inspired by Irssi.

If you like Profanity consider becoming a sponsor or donate some money.

alt tag

See the User Guide for information on installing and using Profanity.

Project

This project is about freedom, privacy and choice. We want to enable people to chat with one another in a safe way. Thus supporting encryption (OTR, PGP, OMEMO, OX) and being decentralized, meaning everyone can run their own server. We believe XMPP is a great proven protocol with an excellent community serving this purpose well.

Feel free to follow us on twitter, join our mailing list and/or MUC.

Installation

Our user guide contains an install section and a section for building from source yourself.

Donations

We would highly appreciate if you support us via GitHub Sponsors. Especially if you make feature requests or need help using Profanity. Sponsoring enables us to spend time on Profanity.

An alternative way to support us would be to ask for our IBAN or use Bitcoin: bc1qx265eat7hfasqkqmk9qf38delydnrnuvzhzy0x.

Thank you! <3

How to contribute

We tried to sum things up on our helpout page. Additionally you can check out our blog where we have articles like: How to get a backtrace and Contributing a Patch via GitHub. For more technical details check out our CONTRIBUTING.md file.

Getting help

To get help, first read our User Guide then check out the FAQ. If you have are having a problem then first search the issue tracker. If you don't find anything there either come to our MUC or create a new issue depending on what your problem is.

Website

URL: https://profanity-im.github.io

Repo: https://github.com/profanity-im/profanity-im.github.io

Blog

URL: https://profanity-im.github.io/blog

Repo: https://github.com/profanity-im/blog

Mailinglist

Mailing List: https://lists.posteo.de/listinfo/profanity

Chatroom

MUC: profanity@rooms.dismail.de

Plugins

Plugins repository: https://github.com/profanity-im/profanity-plugins

Description
No description provided
Readme 40 MiB
Languages
C 95.2%
Python 1.7%
Makefile 0.9%
M4 0.8%
Shell 0.7%
Other 0.6%