[prev in list] [next in list] [prev in thread] [next in thread]
List: silc-devel
Subject: [PATCH/resubmit] silc-server-0.9.18: fix null pointer deref in
From: mmiller () hick ! org
Date: 2004-06-18 16:50:52
Message-ID: 20040618165052.GB22462 () home ! hick ! org
[Download RAW message or body]
Hi,
I noticed a stupid mistake in my previous patch, so here's the corrected
version. Apologies for the spam.
Matt
--- snip ---
diff -dru silc-server-0.9.18/silcd/route.c silc-server-0.9.18-fix/silcd/route.c
--- silc-server-0.9.18/silcd/route.c Mon Mar 3 10:56:04 2003
+++ silc-server-0.9.18-fix/silcd/route.c Fri Jun 18 03:02:02 2004
@@ -97,11 +97,11 @@
#endif
router = silc_server_route_check(dest, port);
- if (!router)
- return (SilcSocketConnection)server->id_entry->router->connection;
-
- return (SilcSocketConnection)router->connection;
+ if (router)
+ return (SilcSocketConnection)router->connection;
}
- return (SilcSocketConnection)server->id_entry->router->connection;
+ return (server->id_entry->router)
+ ? (SilcSocketConnection)server->id_entry->router->connection
+ : NULL;
}
diff -dru silc-server-0.9.18/silcd/server.c silc-server-0.9.18-fix/silcd/server.c
--- silc-server-0.9.18/silcd/server.c Wed Mar 3 11:15:08 2004
+++ silc-server-0.9.18-fix/silcd/server.c Fri Jun 18 04:24:42 2004
@@ -2547,12 +2547,17 @@
/* Route the packet to fastest route for the destination ID */
void *id = silc_id_str2id(packet->dst_id, packet->dst_id_len,
packet->dst_id_type);
+ SilcSocketConnection conn;
+
if (!id)
goto out;
- silc_server_packet_route(server,
- silc_server_route_get(server, id,
- packet->dst_id_type),
- packet);
+
+ conn = silc_server_route_get(server, id,
+ packet->dst_id_type);
+ if (!conn)
+ goto out;
+
+ silc_server_packet_route(server, conn, packet);
silc_free(id);
goto out;
}
@@ -5363,7 +5368,7 @@
dst_sock = silc_server_route_get(server, id, SILC_ID_CLIENT);
silc_free(id);
- if (idata)
+ if (idata && dst_sock)
*idata = (SilcIDListData)dst_sock->user_data;
return dst_sock;
}
_______________________________________________________________________
Info: https://lists.silcnet.org/mailman/listinfo/silc-announce
Archive: https://lists.silcnet.org/pipermail/silc-announce
FAQ: http://silcnet.org/support/faq/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic