This error occurred
FATAL ERROR: test case CRASHED: SIGABRT - Abort (abnormal termination) signal
::error::Error: Exit with code: 134 and signal: null
when I was testing a string constructor "String::String(const char* other)"
String::String(const char* other) // the constructor I'm talking about
    {
         if (other == nullptr)
         {
              String();
         }
         else if (other != nullptr)
         {
              int count{0};
              for (int i = 0; other[i] != '\0'; ++i)
              {
                  count = count + 1;
              }
              slength = count;
              // delete [] ifmt; // ?
              ifmt = new char [slength + 1];
              for (int i = 0; i < slength; ++i)    
              {
                  ifmt[i] = other[i];
              }
              ifmt[slength] = '\0'; 
         }
    }
    }
String::String()
    {
        slength = 0; 
        ifmt = new char[slength + 1]; 
        ifmt[0] = '\0';
    }
in my custom String class.
private:
            
        int slength;
        char* ifmt;
One of the suggestions I received was to create a new option branch to handle "negative length" and construct an empty string in this case, but I have no idea what "negative length" is.
I have also searched for some case on the Internet but I found I have done the things they suggested but it still doesn't work. https://www.geeksforgeeks.org/how-to-create-a-custom-string-class-in-c-with-basic-functionalities/ design a string class constructor c++ custom string exercise in c++
I will be thankful if anyone could give some guidance in this case.
 
    