Mercurial > pidgin
view doc/xfer-signals.dox @ 24475:caf82c1cebf2
I've seen this crash a few times where cmd->param_count is 4 and
we try to access params[4] which is invalid.
The backtrace is:
#0 0x0000003c4c4341ca in ____strtoll_l_internal () from /lib64/libc.so.6
#1 0x0000003c4c431ab2 in atoi () from /lib64/libc.so.6
#2 0x00000000005f0abe in ubm_cmd (cmdproc=0xc86eb30, cmd=0xc832e00) at notification.c:494
#3 0x00000000005efef1 in msn_cmdproc_process_cmd (cmdproc=0xc86eb30, cmd=0xc832e00)
at cmdproc.c:321
#4 0x00000000005eff97 in msn_cmdproc_process_cmd_text (cmdproc=0xc86eb30,
command=0xcadb390 "UBM somebody1@yahoo.com 32 1 170") at cmdproc.c:343
#5 0x00000000005f9d8f in read_cb (data=0xc86ea90, source=9, cond=PURPLE_INPUT_READ)
at servconn.c:439
#6 0x00000000004db70c in pidgin_io_invoke (source=0xc8369f0, condition=G_IO_IN, data=0xc836570)
at gtkeventloop.cc:79
Here are some other values I've seen for command in frame 4:
UBM somebody1@yahoo.com 32 1 170
UBM somebody2@yahoo.com 32 2 91
UBM somebody3@yahoo.com 32 2 93
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 18 Nov 2008 07:16:49 +0000 |
parents | e0613cf8c493 |
children |
line wrap: on
line source
/** @page xfer-signals File Transfer Signals @signals @signal file-recv-accept @signal file-recv-start @signal file-recv-cancel @signal file-recv-complete @signal file-recv-request @signal file-send-accept @signal file-send-start @signal file-send-cancel @signal file-send-complete @endsignals @see ft.h <hr> @signaldef file-recv-accept @signalproto void (*file_recv_accept)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an incoming file transfer has been accepted. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-recv-start @signalproto void (*file_recv_start)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an incoming file transfer has been started. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-recv-cancel @signalproto void (*file_recv_cancel)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an incoming file transfer has been canceled. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-recv-complete @signalproto void (*file_recv_complete)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an incoming file transfer has been completed. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-recv-request @signalproto void (*file_recv_request)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted before the user is prompted for an incoming file-transfer. Plugins can intercept the signal to auto-accept/auto-reject the requests. To auto-accept the file transfer, use purple_xfer_request_accepted(). To auto-reject, set the status of the xfer to PURPLE_XFER_STATUS_CANCEL_LOCAL. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-send-accept @signalproto void (*file_send_accept)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an outgoing file transfer has been accepted. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-send-start @signalproto void (*file_send_start)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an outgoing file transfer has started. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-send-cancel @signalproto void (*file_send_cancel)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an outgoing file transfer has been canceled. @param xfer The file transfer @param data User data @endsignaldef @signaldef file-send-complete @signalproto void (*file_send_complete)(PurpleXfer *xfer, gpointer data); @endsignalproto @signaldesc Emitted when an outgoing file transfer has been completed. @param xfer The file transfer @param data User data @endsignaldef */ // vim: syntax=c.doxygen tw=75 et