Sanitize input_interrupt output

Message ID 87lhlslbqg.fsf@redhat.com
State New, archived
Headers

Commit Message

Sergio Durigan Junior Dec. 28, 2014, 3 a.m. UTC
  On Saturday, December 27 2014, Andreas Schwab wrote:

> Sergio Durigan Junior <sergiodj@redhat.com> writes:
>
>> +	{
>> +	  fprintf (stderr, "input_interrupt, count = %d c = %d ", cc, c);
>> +	  if (isprint (c))
>> +	    fprintf (stderr, "('%c')\n", c);
>> +	  else
>> +	    fprintf (stderr, "('\\x%02x)\n", c & 0xFF);
>                                        ^
>
> Missing second quote character.

Ops, thanks.  Corrected version below.
  

Comments

Pedro Alves Dec. 29, 2014, 11:12 a.m. UTC | #1
On 12/28/2014 03:00 AM, Sergio Durigan Junior wrote:
> On Saturday, December 27 2014, Andreas Schwab wrote:
> 
>> Sergio Durigan Junior <sergiodj@redhat.com> writes:
>>
>>> +	{
>>> +	  fprintf (stderr, "input_interrupt, count = %d c = %d ", cc, c);
>>> +	  if (isprint (c))
>>> +	    fprintf (stderr, "('%c')\n", c);
>>> +	  else
>>> +	    fprintf (stderr, "('\\x%02x)\n", c & 0xFF);
>>                                        ^
>>
>> Missing second quote character.
> 
> Ops, thanks.  Corrected version below.

OK, but please write "0xff" in lowercase.

Thanks!

Pedro Alves
  
Sergio Durigan Junior Dec. 29, 2014, 7:25 p.m. UTC | #2
On Monday, December 29 2015, Pedro Alves wrote:

> On 12/28/2014 03:00 AM, Sergio Durigan Junior wrote:
>> On Saturday, December 27 2014, Andreas Schwab wrote:
>> 
>>> Sergio Durigan Junior <sergiodj@redhat.com> writes:
>>>
>>>> +	{
>>>> +	  fprintf (stderr, "input_interrupt, count = %d c = %d ", cc, c);
>>>> +	  if (isprint (c))
>>>> +	    fprintf (stderr, "('%c')\n", c);
>>>> +	  else
>>>> +	    fprintf (stderr, "('\\x%02x)\n", c & 0xFF);
>>>                                        ^
>>>
>>> Missing second quote character.
>> 
>> Ops, thanks.  Corrected version below.
>
> OK, but please write "0xff" in lowercase.
>
> Thanks!

Pushed with the requested fix.

  <https://sourceware.org/ml/gdb-cvs/2014-12/msg00122.html>
  fafcc06ab29fe98d2767234dc77062d08ea0d3c7

Thanks,
  

Patch

diff --git a/gdb/gdbserver/remote-utils.c b/gdb/gdbserver/remote-utils.c
index 373fc15..5ff14f9 100644
--- a/gdb/gdbserver/remote-utils.c
+++ b/gdb/gdbserver/remote-utils.c
@@ -23,6 +23,7 @@ 
 #include "tdesc.h"
 #include "dll.h"
 #include "rsp-low.h"
+#include <ctype.h>
 #if HAVE_SYS_IOCTL_H
 #include <sys/ioctl.h>
 #endif
@@ -741,10 +742,18 @@  input_interrupt (int unused)
 
       cc = read_prim (&c, 1);
 
-      if (cc != 1 || c != '\003' || current_thread == NULL)
+      if (cc == 0)
 	{
-	  fprintf (stderr, "input_interrupt, count = %d c = %d ('%c')\n",
-		   cc, c, c);
+	  fprintf (stderr, "client connection closed\n");
+	  return;
+	}
+      else if (cc != 1 || c != '\003' || current_thread == NULL)
+	{
+	  fprintf (stderr, "input_interrupt, count = %d c = %d ", cc, c);
+	  if (isprint (c))
+	    fprintf (stderr, "('%c')\n", c);
+	  else
+	    fprintf (stderr, "('\\x%02x')\n", c & 0xFF);
 	  return;
 	}