[前][次][番号順一覧][スレッド一覧]

ruby-changes:23414

From: akr <ko1@a...>
Date: Tue, 24 Apr 2012 22:00:08 +0900 (JST)
Subject: [ruby-changes:23414] akr:r35465 (trunk): * ext/socket/raddrinfo.c (init_unix_addrinfo): show actual path length

akr	2012-04-24 21:59:32 +0900 (Tue, 24 Apr 2012)

  New Revision: 35465

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35465

  Log:
    * ext/socket/raddrinfo.c (init_unix_addrinfo): show actual path length
      when it is too long for Unix socket.
    
    * ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
    
    * ext/socket/socket.c (sock_s_pack_sockaddr_un): ditto.

  Modified files:
    trunk/ChangeLog
    trunk/ext/socket/raddrinfo.c
    trunk/ext/socket/socket.c
    trunk/ext/socket/unixsocket.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 35464)
+++ ChangeLog	(revision 35465)
@@ -1,3 +1,12 @@
+Tue Apr 24 21:57:53 2012  Tanaka Akira  <akr@f...>
+
+	* ext/socket/raddrinfo.c (init_unix_addrinfo): show actual path length
+	  when it is too long for Unix socket.
+
+	* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
+
+	* ext/socket/socket.c (sock_s_pack_sockaddr_un): ditto.
+
 Tue Apr 24 21:43:58 2012  Yusuke Endoh  <mame@t...>
 
 	* lib/net/smtp.rb (check_continue): raise an error with an explanatory
Index: ext/socket/raddrinfo.c
===================================================================
--- ext/socket/raddrinfo.c	(revision 35464)
+++ ext/socket/raddrinfo.c	(revision 35465)
@@ -768,8 +768,8 @@
     StringValue(path);
 
     if (sizeof(un.sun_path) <= (size_t)RSTRING_LEN(path))
-        rb_raise(rb_eArgError, "too long unix socket path (max: %dbytes)",
-            (int)sizeof(un.sun_path)-1);
+        rb_raise(rb_eArgError, "too long unix socket path (%ldbytes given but %dbytes max)",
+            RSTRING_LEN(path), (int)sizeof(un.sun_path)-1);
 
     MEMZERO(&un, struct sockaddr_un, 1);
 
Index: ext/socket/socket.c
===================================================================
--- ext/socket/socket.c	(revision 35464)
+++ ext/socket/socket.c	(revision 35465)
@@ -1429,8 +1429,8 @@
     sockaddr.sun_family = AF_UNIX;
     sun_path = StringValueCStr(path);
     if (sizeof(sockaddr.sun_path) <= strlen(sun_path)) {
-        rb_raise(rb_eArgError, "too long unix socket path (max: %dbytes)",
-            (int)sizeof(sockaddr.sun_path)-1);
+        rb_raise(rb_eArgError, "too long unix socket path (%ldbytes given but %dbytes max)",
+            RSTRING_LEN(path), (int)sizeof(sockaddr.sun_path)-1);
     }
     strncpy(sockaddr.sun_path, sun_path, sizeof(sockaddr.sun_path)-1);
     addr = rb_str_new((char*)&sockaddr, sizeof(sockaddr));
Index: ext/socket/unixsocket.c
===================================================================
--- ext/socket/unixsocket.c	(revision 35464)
+++ ext/socket/unixsocket.c	(revision 35465)
@@ -40,8 +40,8 @@
     MEMZERO(&sockaddr, struct sockaddr_un, 1);
     sockaddr.sun_family = AF_UNIX;
     if (sizeof(sockaddr.sun_path) <= (size_t)RSTRING_LEN(path)) {
-        rb_raise(rb_eArgError, "too long unix socket path (max: %dbytes)",
-            (int)sizeof(sockaddr.sun_path)-1);
+        rb_raise(rb_eArgError, "too long unix socket path (%ldbytes given but %dbytes max)",
+            RSTRING_LEN(path), (int)sizeof(sockaddr.sun_path)-1);
     }
     memcpy(sockaddr.sun_path, RSTRING_PTR(path), RSTRING_LEN(path));
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]