Pidgin doesn't start if Telegram plugin is installed
Unfortunately this plugin causes pidgin to crash on start if using the Telegram plugin. Perhaps there is an easy solution to fixing this? If not, oh well thanks for looking into it :)
Also happens when trying to add Telegram account while having pidgin-wincred plugin turned on
Error occured on Sunday, June 19, 2016 at 13:47:39.
Windows Version 6.1 Build 7601 Service Pack 1
C:\Program Files (x86)\Pidgin\pidgin.exe caused an Access Violation at location 771a43f9 in module C:\Windows\syswow64\msvcrt.dll Reading from location 00000000.
Registers: eax=0dedfa40 ebx=0dedfa40 ecx=00000000 edx=0dedfa40 esi=0028e0d8 edi=00000000 eip=771a43f9 esp=0028dfdc ebp=0e1c7790 iopl=0 nv up ei pl zr na po nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
Call stack: C:\Windows\syswow64\msvcrt.dll [7.0.7601.17744] 771A43F9 C:\Windows\syswow64\msvcrt.dll strlen 6300173C C:\Users\Peter v.7.0\AppData\Roaming.purple\plugins\pidgin-wincred.dll create_account_str /home/travis/build/aebrahim/pidgin-wincred/pidgin-wincred.c:109 C:\Program Files (x86)\Pidgin\Gtk\bin\libglib-2.0-0.dll [2.28.8.0] 686098D8 C:\Program Files (x86)\Pidgin\Gtk\bin\libglib-2.0-0.dll g_str_equal 685DC611 C:\Program Files (x86)\Pidgin\Gtk\bin\libglib-2.0-0.dll g_hash_table_lookup C:\Program Files (x86)\Pidgin\libpurple.dll [2.10.12.0] 005FE8B3 C:\Program Files (x86)\Pidgin\libpurple.dll purple_signal_emit_vargs 005FE98B C:\Program Files (x86)\Pidgin\libpurple.dll purple_signal_emit 005B6525 C:\Program Files (x86)\Pidgin\libpurple.dll purple_account_clear_current_error
Hmm, looks like wincred is just trying to copy one of telegram-purple's strings which apparently isn't terminated properly.
Can you find out which of the two strings it is?
I kind of guess that it's the protocol id.
In telegram-purple.h, try changing the line 61 and see whether that works:
// #define PLUGIN_ID "prpl-telegram" // OLD
#define PLUGIN_ID "prpl-telegram\0" // NEW
If it does, we'll fix that.
Also, closing the reference loop.
EDIT: Nah, that will most definitely not change anything. Even if compile-time constant strings weren't NUL-terminated, then one of our tests would have detected that.
So I have no idea, and ask you: Can you find out which of the two strings it is?
No, that's password. Password is not used in Telegram by default. I see a recent commit https://github.com/aebrahim/pidgin-wincred/commit/36da30fda27849d109258a234624317f5e6a5662 that supposedly fixes empty passwords. But I use wincred release 0.5 which do not have this fix also I can't build wincred from source right now.
Temporary workaround I found is creating a Generic Credential entry in Windows Credential Manager using this details:
Internet or network address: libpurple/prpl-telegram/<your phone>
User name: libpurple/prpl-telegram/<your phone>
Password: any string
Conclusion: wincred needs 0.6 binary release.
OK. I will try to make a binary release in the next couple of days, and hopefully you guys can test that out.
Unfortunately, my automated deployment broke, and I don't quite have time to fix it.
Please note that telegram does use passwords, if you enable two-factor authentication; by default it's disabled. You only have to be aware of that if you want to explain it to others, because someone out there probably wants to use wincred with telegram-purple and two-factor authentication :P (And yeah, I know that a password doesn't really count as a second factor ...)
Ok, I edited my comment to reflect that.
thank @petroid for the quick fix ;)