]> The Tcpdump Group git mirrors - libpcap/commitdiff
re-correct fallback strlcpy(). do not choke on z == 0.
authoritojun <itojun>
Tue, 4 Jul 2000 00:22:03 +0000 (00:22 +0000)
committeritojun <itojun>
Tue, 4 Jul 2000 00:22:03 +0000 (00:22 +0000)
pcap-int.h

index 590138c5ad3c07ad003c4e4413302a60345ce462..0193cfbb5c32391fa3eb7e06bc6e588fd9c6fb00 100644 (file)
@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * @(#) $Header: /tcpdump/master/libpcap/pcap-int.h,v 1.23 2000-07-04 00:10:47 itojun Exp $ (LBL)
+ * @(#) $Header: /tcpdump/master/libpcap/pcap-int.h,v 1.24 2000-07-04 00:22:03 itojun Exp $ (LBL)
  */
 
 #ifndef pcap_int_h
@@ -136,7 +136,9 @@ int pcap_read(pcap_t *, int cnt, pcap_handler, u_char *);
 
 #ifndef HAVE_STRLCPY
 #define strlcpy(x, y, z) \
-       (strncpy((x), (y), (z)), (x)[(z) - 1] = '\0', strlen((x)))
+       (strncpy((x), (y), (z)), \
+        ((z) <= 0 ? 0 : ((x)[(z) - 1] = '\0')), \
+        strlen((y)))
 #endif
 
 /* XXX */