Data parsing

I have something working, although no doubt it could be done better! ?

I have changed buffer from a char array to a string, seems to make things a bit simpler. Any downsides to this I should be aware of?

if(started && ended)
    {
      int data1;
      int data2;

      char buffer2[buffer.length()+1];
      buffer.toCharArray(buffer2, buffer.length()+1);
      char *token = strtok(buffer2, ",");

      // data 1
      if (token)
      {
        data1 = atoi(token);
        token = strtok(NULL, ",");
      }

      // data2
      if (token)
      {
        data2 = atoi(token);
        token = strtok(NULL, ",");

        Serial.print(data1);
        Serial.print(" ");
        Serial.println(data2);

        started = false;
        ended = false;  
      }
    }