pidgin/pidgin
Clone
Summary
Browse
Changes
Graph
Re-arrange jabber_buddy_resource_free to avoid use-after-free warning.
2019-11-05, Elliott Sales de Andrade
27c5004a6c65
Re-arrange jabber_buddy_resource_free to avoid use-after-free warning.
scan-build doesn't recognize the effect of g_list_remove, but this seems
a bit cleaner anyway.
#include
"zephyr_err.h"
static
const
char
*
const
text
[]
=
{
"Packet too long or buffer too small"
,
"Notice header too large"
,
"Illegal value in notice"
,
"Can't get host manager port"
,
"Can't assign port"
,
"Bad packet format"
,
"Incompatible version numbers"
,
"No port opened"
,
"No notices match criteria"
,
"Input queue too long"
,
"Hostmanager not responding"
,
"Internal error"
,
"No previous call to ZLocateUser"
,
"No more locations available"
,
"Field too long for buffer"
,
"Improperly formatted field"
,
"SERVNAK received"
,
"Server could not verify authentication"
,
"Not logged-in"
,
"No previous call to ZRetrieveSubscriptions"
,
"No more subscriptions available"
,
"Too many subscriptions to transmit"
,
"End of file detected during read"
,
0
};
struct
error_table
{
char
const
*
const
*
msgs
;
long
base
;
int
n_msgs
;
};
struct
et_list
{
struct
et_list
*
next
;
const
struct
error_table
*
table
;
};
extern
struct
et_list
*
_et_list
;
static
const
struct
error_table
et
=
{
text
,
-772103680L
,
23
};
static
struct
et_list
link
=
{
0
,
0
};
void
initialize_zeph_error_table
(
void
)
{
if
(
!
link
.
table
)
{
link
.
next
=
_et_list
;
link
.
table
=
&
et
;
_et_list
=
&
link
;
}
}