2008/8/27 Rakesh Pandit <[EMAIL PROTECTED]>: > Hello, > This one is first coherent patch from last weeks long patch. It fix > segmentation fault in ping6.c
Missed the ChangeLog entry. I will post next patch when this is reviewed as files are intersecting, and if there is a correction while review, subsequent patches will become corrupt. Thanks, rakesh Index: ChangeLog =================================================================== RCS file: /sources/inetutils/inetutils/ChangeLog,v retrieving revision 1.322 diff -u -r1.322 ChangeLog --- ChangeLog 23 Aug 2008 11:59:17 -0000 1.322 +++ ChangeLog 27 Aug 2008 03:25:49 -0000 @@ -1,3 +1,8 @@ +2008-08-27 Rakesh Pandit <[EMAIL PROTECTED]> + + * ping/ping6.c (main, parse_opt): Fixed segmentation fault + in ping6. + 2008-08-23 Debarshi Ray <[EMAIL PROTECTED]> * hostname/hostname.c (main): Initialize OPTIONS to zero. Index: ping/ping6.c =================================================================== RCS file: /sources/inetutils/inetutils/ping/ping6.c,v retrieving revision 1.11 diff -u -r1.11 ping6.c --- ping/ping6.c 6 Jun 2008 16:43:43 -0000 1.11 +++ ping/ping6.c 27 Aug 2008 03:25:49 -0000 @@ -47,12 +47,15 @@ #include "libinetutils.h" static PING *ping; -bool is_root; +bool is_root = false; unsigned char *data_buffer; u_char *patptr; int one = 1; int pattern_len = 16; size_t data_length = PING_DATALEN; +size_t count = DEFAULT_PING_COUNT; +size_t interval; +int socket_type; static unsigned int options; static unsigned long preload = 0; @@ -96,15 +99,16 @@ { char *endptr; u_char pattern[16]; + double v; switch (key) { case 'c': - ping->ping_count = ping_cvt_number (arg, 0, 0); + count = ping_cvt_number (arg, 0, 0); break; case 'd': - setsockopt (ping->ping_fd, SOL_SOCKET, SO_DEBUG, &one, sizeof (one)); + socket_type = SO_DEBUG; break; case 'f': @@ -117,7 +121,7 @@ case 'i': options |= OPT_INTERVAL; - ping->ping_interval = ping_cvt_number (arg, 0, 0); + interval = ping_cvt_number (arg, 0, 0); break; case 'l': @@ -144,7 +148,7 @@ break; case 'r': - setsockopt (ping->ping_fd, SOL_SOCKET, SO_DONTROUTE, &one, sizeof (one)); + socket_type = SO_DEBUG; break; case 's': @@ -188,6 +192,16 @@ argc -= index; argv += index; + if (count != 0) + ping->ping_count = count; + + if (socket_type != 0) + setsockopt (ping->ping_fd, SOL_SOCKET, socket_type, &one, sizeof (one)); + + if (options & OPT_INTERVAL) + ping->ping_interval = interval; + + init_data_buffer (patptr, pattern_len); while (argc--) _______________________________________________ bug-inetutils mailing list bug-inetutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-inetutils