gpg.exe 2.2.8.52634 crashes in msvcrt.dll
Closed, ResolvedPublic

Description

After installing Gpg4win 3.1.2 decrypting phone bills received from my provider is failing:

Event viewer logs event ID 1000:

gpg.exe writes a crash dump file:

Visual studio debugger's traceback shows crash occuring in function "strlen" contained in "msvcrt.dll":

In addition I enclose gpg debug logs:

Reverting to Gpg4win 3.1.1 solves the problem: all phone bills, recent and previous ones, get decrypted successfully again:

Problem occurs on all my PCs and is reproducible by switching between Gpg4win versions back and forth. But unfortunately I do not have any public testcase beside my decrypted phone bill files of type "Rechnung_dd.mm.yyyy.zip.pgp" encrypted by provider using my own public key. So I guess how I could contribute solving this problem.

Details

Commits
rG833738a31697: po: Add flag options for xgettext.
rGcb71573f3762: po: Add flag options for xgettext.
Version
Gpg4win 3.1.2 / GNU Privacy Guard 2.2.8 / Windows 10 Update 1803 (Build 17134.137)
fritzle created this task.Jul 4 2018, 3:35 PM
aheinecke triaged this task as High priority.Jul 4 2018, 5:28 PM
aheinecke added projects: gpg4win, gnupg.
aheinecke added a subscriber: aheinecke.

Thank you for your detailed report!

From the logs. Part of the problem is that the message comes without an MDC. This is an error now in Gpg4win 3.1.2 / gnupg 2.2.8 (thanks to that EFail buzz) which was not handled properly in Kleopatra ( T4038 ).

But this is not all your problem. You should have gotten "Decryption Failed: Decryption Failed" in that case. But you got a crash and the Kleopatra message also indicates that the error was due to the crash.

I'll try to analyze it further tomorrow.

Btw. awesome phone provider that sends bills OpenPGP encrypted. May I ask which phone provider that is?

I can reproduce it with a german windows

aheinecke changed the task status from Open to Testing.Jul 4 2018, 5:57 PM

Got it. The reason was a broken translation. I've opened T4054 to fix in general that broken translations can cause crashes.

You can replace the translation in c:\program files\gnupg\share\locale\de\LC_MESSAGES with:

This fixes the crash.

But that will only bring you to T4038 until we have a new release or a new beta.

Until then you can decrypt the file on the command line with gpg --ignore-mdc-errors --decrypt <filename>

Changing status to testing as it was fixed in the repo.

Thank you for your prompt response and your suggestion for a workaround.

My phone provider is German Telekom "Kundenservice.Rechnungonline@telekom.de" who sends my cellphone bills encrypted. Don’t know if nowadays this is still the only kind of getting the bills online. But when concluding my contract several years ago, I had no choice. But as far as I know, this is only concerning cellphone bills and not landline bills.

werner closed this task as Resolved.Jul 12 2018, 3:27 PM
werner claimed this task.