PERFORCE change 143091 for review
    Rui Paulo 
    rpaulo at FreeBSD.org
       
    Sat Jun  7 22:16:00 UTC 2008
    
    
  
http://perforce.freebsd.org/chv.cgi?CH=143091
Change 143091 by rpaulo at rpaulo_epsilon on 2008/06/07 22:15:30
	Add error checking.
Affected files ...
.. //depot/projects/soc2008/rpaulo-tcpad/Makefile#5 edit
.. //depot/projects/soc2008/rpaulo-tcpad/dumper.c#5 edit
Differences ...
==== //depot/projects/soc2008/rpaulo-tcpad/Makefile#5 (text+ko) ====
@@ -1,8 +1,9 @@
-# $P4: //depot/projects/soc2008/rpaulo-tcpad/Makefile#4 $
+# $P4: //depot/projects/soc2008/rpaulo-tcpad/Makefile#5 $
 
 PROG=tcpad
 SRCS=main.c device.c linkhdr.c handler.c dumper.c
 CFLAGS+=-DDEBUG
+WARNS=5
 LDADD=-lpcap
 
 .include <bsd.prog.mk>
==== //depot/projects/soc2008/rpaulo-tcpad/dumper.c#5 (text+ko) ====
@@ -23,7 +23,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $P4: //depot/projects/soc2008/rpaulo-tcpad/dumper.c#4 $
+ * $P4: //depot/projects/soc2008/rpaulo-tcpad/dumper.c#5 $
  */
 
 #include <string.h>
@@ -43,6 +43,10 @@
 	struct dumppkt *dp;
 
 	dp = malloc(sizeof(*dp));
+	if (dp == NULL) {
+		fprintf(stderr, "%s: malloc failed\n", __func__);
+		return;
+	}
 	memcpy(&dp->pheader, ph, sizeof(struct pcap_pkthdr));
 	memcpy(&dp->headers, headers, sizeof(dp->headers));
 	/* XXX: honour the size of this list */
@@ -59,7 +63,11 @@
 	struct dumppkt *dp;
 
 	pd = pcap_dump_open(p, path);
+	if (pd == NULL) {
+		fprintf(stderr, "%s: %s\n", __func__, pcap_geterr(p));
+		return;
+	}
 	TAILQ_FOREACH(dp, head, entries)
-		pcap_dump((u_char *)pd, &dp->pheader, dp->headers);
+	    pcap_dump((u_char *)pd, &dp->pheader, dp->headers);
 	pcap_dump_close(pd);
 }
    
    
More information about the p4-projects
mailing list