On Thu, May 22, 2025 at 3:30 PM Aditya Garg <gargaditya08@xxxxxxxx> wrote: > > Not sure about server_fill_credential(), but I think this is also > > a potential memory leak > > > > static int auth_cram_md5(struct imap_store *ctx, const char *prompt) > > { > > int ret; > > char *response; > > > > response = cram(prompt, ctx->cfg->user, ctx->cfg->pass); > > > > ret = socket_write(&ctx->imap->buf.sock, response, strlen(response)); > > if (ret != strlen(response)) > > + free(response); // fix for the leak > > return error("IMAP error: sending response failed"); > > > > free(response); > > > > return 0; > > } > > So this change leads to: > > imap-send.c:990:2: error: code will never be executed [-Werror,-Wunreachable-code] > free(response); > ^~~~ Is that because you forgot the curly braces around the `if` body? if (ret != strlen(response)) { free(response); return error("IMAP error: sending response failed"); } free(response);