This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC 1/3] catch syscall -- try 6 -- Source-code modifications


> From: Sérgio_Durigan_Júnior <sergiodj@linux.vnet.ibm.com>
> Date: Fri, 11 Sep 2009 21:27:41 -0300
> Cc: gdb-patches@sourceware.org
> 
> On Friday 11 September 2009, Eli Zaretskii wrote:
> > I have one more small request:
> > > +      /* Check if the user provided a syscall name or a number.  */
> > > +      syscall_number = (int) strtol (cur_name, &endptr, 10);
> > 
> > This forces the user to specify the system call numbers in decimal.
> > However, sometimes it might be more convenient to use hex.  For
> > example, I'm planning to add support for this to the DJGPP port, where
> > the various software interrupts and their functions are known to
> > people by their hex numbers, e.g. Interrupt 0x21 function 0x2a is the
> > DOS system call to get the system clock date.  Asking the users to
> > translate those into decimal would be a nuisance.
> > 
> > So can we use zero instead of 10 for the last argument of this call to
> > strtol?
> 
> Sure, I should have used zero since the start.  Sorry about that, it's fixed
> (and tested) now.
> 
> > Finally, a minor nit:
> > > +  while (*arg != '\0')
> > > +    {
> > > +      int i, syscall_number;
> > > +      char *endptr;
> > > +      char cur_name[128];
> > > +      struct syscall s;
> > > +
> > > +      /* Skip whitespace.  */
> > > +      while (isspace (*arg))
> > > +        arg++;
> > > +
> > > +      for (i = 0; arg[i] && !isspace (arg[i]); ++i)
> > > +	cur_name[i] = arg[i];
> > > +      cur_name[i] = '\0';
> > > +      arg += i;
> > 
> > The last loop does not take care not to overrun the 128-character
> > limit that cur_name[] imposes on the length of syscall names, and will
> > happily smash the stack if GDB is fed a very long string.
> 
> Ops, sorry about that too :-)...  Thank you for pointing this nit, I've fixed
> it too (and tested, of course).

Thanks, I am happy now.

> What about the patch now?  Ok to check in?

I think everybody approved it, right?  How about waiting one more day
and then checking it in?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]