Re: [ecasound] ecasound interactive-mode segfaults on a '\' at the end of line

From: Pedro Antonio Fructuoso Merino <pfructuoso@email-addr-hidden>
Date: Thu Nov 30 2006 - 19:39:24 EET

Hi Koen, I don't why know but I can't send emails to the list, could you
send it for me? Thanks

Hi,
I think that the problem is in vector<string>
kvu_string_to_tokens_quoted(const string& s) (kvu_utils.cpp). In the
loop checks if the character is "\\" and in this case makes p++ but at
the end of this iteration makes a new p++ so, if the character "\\" is
the last of the string, p never is equal to s.end() and doesn't exit the
loop. Here is my fixed code:
vector<string> kvu_string_to_tokens_quoted(const string& s)
{
  vector<string> vec;
  string stmp;
  bool quoteflag = false;

  for(string::const_iterator p = s.begin(); p != s.end(); p++) {
    if (*p == '\"') {
      quoteflag = !quoteflag;
    }
    else if (*p == '\\') {
      if ((p+1) != s.end()) {
        p++;
        stmp += *p;
      }
    }
    else if (isspace(*p) == 0 || quoteflag == true) {
      stmp += *p;
    }
    else {
      if (stmp == "") continue;
      vec.push_back(stmp);
      stmp = "";
    }
  }
  if (stmp.size() > 0)
    vec.push_back(stmp);

  return vec;
}

Regards:
Pedro

Koen wrote:

>Hello,
>
>ecasound-2.4.4 is abnormally terminated when a command that ends with a
>backslash ('\') is given to it's interactive mode.
>
>for example:
>
> $ ecasound -c
> ...
>
> ecasound ('h' for help)> abc\
> Segmentation fault
> $
>
>I discovered this accidently when missing the Enter key and hitting the
>backslash first...
>
>
>This happens with both a self-compiled version of 2.4.4, and the following
>Debian package:
>
>ii ecasound 2.4.4-2 Multitrack-capable audio recorder and effect processor
>
>I didn't have the time yet to test older versions of ecasound, nor to look
>for what's causing the problem itself.
>
>
>kind regards,
> koen.
>
>
>-------------------------------------------------------------------------
>Take Surveys. Earn Cash. Influence the Future of IT
>Join SourceForge.net's Techsay panel and you'll get the chance to share your
>opinions on IT & business topics through brief surveys - and earn cash
>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>_______________________________________________
>Ecasound-list mailing list
>Ecasound-list@email-addr-hidden
>https://lists.sourceforge.net/lists/listinfo/ecasound-list
>
>
>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Ecasound-list mailing list
Ecasound-list@email-addr-hidden
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Fri Dec 1 04:15:06 2006

This archive was generated by hypermail 2.1.8 : Fri Dec 01 2006 - 04:15:06 EET