From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.devel Subject: Problem report #15 Date: Tue, 11 Apr 2006 08:48:17 -0700 Message-ID: <200604111548.k3BFmH6g015084@scanner2.ics.uci.edu> Reply-To: emacs-devel@gnu.org NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1144771265 6318 80.91.229.2 (11 Apr 2006 16:01:05 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 11 Apr 2006 16:01:05 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 11 18:01:04 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FTLIP-0006sO-8Q for ged-emacs-devel@m.gmane.org; Tue, 11 Apr 2006 18:00:49 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FTLIO-000289-RG for ged-emacs-devel@m.gmane.org; Tue, 11 Apr 2006 12:00:48 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FTLBD-0004dY-J9 for emacs-devel@gnu.org; Tue, 11 Apr 2006 11:53:23 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FTLBC-0004bl-M4 for emacs-devel@gnu.org; Tue, 11 Apr 2006 11:53:22 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FTLBC-0004bZ-HS for emacs-devel@gnu.org; Tue, 11 Apr 2006 11:53:22 -0400 Original-Received: from [128.195.1.36] (helo=scanner2.ics.uci.edu) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FTLG5-0002hp-Ti for emacs-devel@gnu.org; Tue, 11 Apr 2006 11:58:26 -0400 Original-Received: from vino.ics.uci.edu (vino.ics.uci.edu [128.195.11.198]) by scanner2.ics.uci.edu (8.13.6/8.13.5) with ESMTP id k3BFmH6g015084 for ; Tue, 11 Apr 2006 08:48:17 -0700 (PDT) Original-To: emacs-devel@gnu.org Original-Lines: 87 X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam (whitelisted), SpamAssassin (score=-1.44, required 5, autolearn=disabled, ALL_TRUSTED -1.44) X-ICS-MailScanner-From: dann@vino.ics.uci.edu X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:52683 Archived-At: CID: 15 Checker: FORWARD_NULL (help) File: emacs/src/process.c Function: conv_lisp_to_sockaddr Description: Incrementing possibly NULL value "cp" Event assign_zero: Variable "cp" assigned value 0. Also see events: [dereference] 2335 register unsigned char *cp = NULL; 2336 register int i; 2337 2338 bzero (sa, len); 2339 sa->sa_family = family; 2340 At conditional (1): "address & 7 == 4" taking true path At conditional (2): "((0), (address & -8))->size & 1073741824 == 0" taking true path 2341 if (VECTORP (address)) 2342 { 2343 p = XVECTOR (address); At conditional (3): "family == 2" taking false path 2344 if (family == AF_INET) 2345 { 2346 struct sockaddr_in *sin = (struct sockaddr_in *) sa; 2347 len = sizeof (sin->sin_addr) + 1; 2348 i = XINT (p->contents[--len]); 2349 sin->sin_port = htons (i); 2350 cp = (unsigned char *)&sin->sin_addr; 2351 } 2352 #ifdef AF_INET6 At conditional (4): "family == 10" taking false path 2353 else if (family == AF_INET6) 2354 { 2355 struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) sa; 2356 uint16_t *ip6 = (uint16_t *)&sin6->sin6_addr; 2357 len = sizeof (sin6->sin6_addr) + 1; 2358 i = XINT (p->contents[--len]); 2359 sin6->sin6_port = htons (i); 2360 for (i = 0; i < len; i++) 2361 if (INTEGERP (p->contents[i])) 2362 { 2363 int j = XFASTINT (p->contents[i]) & 0xffff; 2364 ip6[i] = ntohs (j); 2365 } 2366 return; 2367 } 2368 #endif 2369 } 2370 else if (STRINGP (address)) 2371 { 2372 #ifdef HAVE_LOCAL_SOCKETS 2373 if (family == AF_LOCAL) 2374 { 2375 struct sockaddr_un *sockun = (struct sockaddr_un *) sa; 2376 cp = SDATA (address); 2377 for (i = 0; i < sizeof (sockun->sun_path) && *cp; i++) 2378 sockun->sun_path[i] = *cp++; 2379 } 2380 #endif 2381 return; 2382 } 2383 else 2384 { 2385 p = XVECTOR (XCDR (address)); 2386 cp = (unsigned char *)sa + sizeof (sa->sa_family); 2387 } 2388 At conditional (5): "i < len" taking true path 2389 for (i = 0; i < len; i++) At conditional (6): "(p)->contents[i] & 7 == 0" taking true path 2390 if (INTEGERP (p->contents[i])) Event dereference: Incrementing possibly NULL value "cp" Also see events: [assign_zero] 2391 *cp++ = XFASTINT (p->contents[i]) & 0xff; 2392 }