Package: tcpick
Version: 0.2.1-1
Severity: important
Tags: patch

Our automated buildd log filter[1] detected a problem[2] that will cause
your package to segfault on architectures where the size of a pointer is
greater than the size of an integer, such as ia64.

[1]http://people.debian.org/~dannf/check-implicit-pointer-functions
[2]
Function `lookup' implicitly converted to pointer at display.c:91
Function `_l_alloc' implicitly converted to pointer at lookup_query.c:40
Function `_l_get' implicitly converted to pointer at lookup_query.c:58
Function `datalink2str' implicitly converted to pointer at tcpick.c:251
Function `lookup' implicitly converted to pointer at write.c:76
Function `strndup' implicitly converted to pointer at write.c:141

compile tested only patch follows...

diff -urN tcpick-0.2.1.orig/src/datalink.h tcpick-0.2.1/src/datalink.h
--- tcpick-0.2.1.orig/src/datalink.h    1969-12-31 17:00:00.000000000 -0700
+++ tcpick-0.2.1/src/datalink.h 2005-09-06 09:47:00.000000000 -0600
@@ -0,0 +1,29 @@
+/*
+ * datalink.h -- calculates datalink offsets
+ * Part of the tcpick project
+ *
+ * Author: Francesco Stablum <duskdruid @ despammed.com>
+ *
+ * Copyright (C) 2003, 2004  Francesco Stablum
+ * Licensed under the GPL
+ *
+ */
+
+/* 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at you option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+ * See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111,
+ * USA.
+ */
+
+char *datalink2str(int dl_id);
diff -urN tcpick-0.2.1.orig/src/display.c tcpick-0.2.1/src/display.c
--- tcpick-0.2.1.orig/src/display.c     2004-12-31 06:53:30.000000000 -0700
+++ tcpick-0.2.1/src/display.c  2005-09-06 09:43:35.000000000 -0600
@@ -28,6 +28,7 @@
 /* FIXME: most code is duplicated: find a better solution! */
 
 #include "tcpick.h"
+#include "lookup.h"
 #include "extern.h"
 
 char * 
diff -urN tcpick-0.2.1.orig/src/lookup.h tcpick-0.2.1/src/lookup.h
--- tcpick-0.2.1.orig/src/lookup.h      2004-12-31 06:53:30.000000000 -0700
+++ tcpick-0.2.1/src/lookup.h   2005-09-06 09:55:00.000000000 -0600
@@ -26,6 +26,8 @@
  * USA.
  */
 
+#ifndef _LOOKUP_H
+#define _LOOKUP_H
 
 struct _l_node /* the node/leaf of the tree */
 {
@@ -40,3 +42,9 @@
        char * name;
        struct in_addr ip;
 };
+
+char *lookup(struct in_addr ia);
+struct _l_node *_l_alloc(struct in_addr, char *);
+char *_l_get(struct in_addr);
+
+#endif
diff -urN tcpick-0.2.1.orig/src/tcpick.c tcpick-0.2.1/src/tcpick.c
--- tcpick-0.2.1.orig/src/tcpick.c      2005-01-18 05:25:36.000000000 -0700
+++ tcpick-0.2.1/src/tcpick.c   2005-09-06 09:47:37.000000000 -0600
@@ -49,6 +49,7 @@
 
 #include "tcpick.h"
 #include "globals.h"
+#include "datalink.h"
 
 char *errbuf[PCAP_ERRBUF_SIZE];
 struct bpf_program filter_compiled;
diff -urN tcpick-0.2.1.orig/src/write.c tcpick-0.2.1/src/write.c
--- tcpick-0.2.1.orig/src/write.c       2005-01-08 16:54:47.000000000 -0700
+++ tcpick-0.2.1/src/write.c    2005-09-06 09:48:28.000000000 -0600
@@ -25,8 +25,11 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
+#define _GNU_SOURCE
+#include <string.h>
 #include "tcpick.h"
 #include "extern.h"
+#include "lookup.h"
 
 __inline__ char * 
 avail_filename(struct CONN * conn_ptr, 

-- 
dann frazier <[EMAIL PROTECTED]>



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to