[asterisk-commits] dvossel: branch 1.4 r228338 - /branches/1.4/main/astfd.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Nov 6 09:41:46 CST 2009
Author: dvossel
Date: Fri Nov 6 09:41:41 2009
New Revision: 228338
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=228338
Log:
fixes crash in astfd.c
(closes issue #15981)
Reported by: slavon
Modified:
branches/1.4/main/astfd.c
Modified: branches/1.4/main/astfd.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/main/astfd.c?view=diff&rev=228338&r1=228337&r2=228338
==============================================================================
--- branches/1.4/main/astfd.c (original)
+++ branches/1.4/main/astfd.c Fri Nov 6 09:41:41 2009
@@ -130,15 +130,16 @@
#undef socket
int __ast_fdleak_socket(int domain, int type, int protocol, const char *file, int line, const char *func)
{
- char sdomain[20], stype[20], *sproto;
+ char sdomain[20], stype[20], *sproto = NULL;
struct protoent *pe;
int res = socket(domain, type, protocol);
if (res < 0 || res > 1023) {
return res;
}
- pe = getprotobynumber(protocol);
- sproto = pe->p_name;
+ if ((pe = getprotobynumber(protocol))) {
+ sproto = pe->p_name;
+ }
if (domain == PF_UNIX) {
ast_copy_string(sdomain, "PF_UNIX", sizeof(sdomain));
@@ -162,7 +163,11 @@
snprintf(stype, sizeof(stype), "%d", type);
}
- STORE_COMMON(res, "socket", "%s,%s,\"%s\"", sdomain, stype, sproto);
+ if (sproto) {
+ STORE_COMMON(res, "socket", "%s,%s,\"%s\"", sdomain, stype, sproto);
+ } else {
+ STORE_COMMON(res, "socket", "%s,%s,\"%d\"", sdomain, stype, protocol);
+ }
return res;
}
More information about the asterisk-commits
mailing list