• vrek@programming.dev
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      1
      ·
      5 hours ago

      Couple big things are 1. Only accept reasonable characters, on a white list instead of rejecting bad characters based on a black list. This will mean you are less likely to forget to block /0 for example. 2. Understand how strings work and ensure both reading and writing to that string doesn’t extend beyond the end of memory allocated for the string. For example do you understand what the /0 would do to a string your program accepts?

        • vrek@programming.dev
          link
          fedilink
          English
          arrow-up
          8
          ·
          5 hours ago

          Keep in mind, the lowercase and uppercase letters are in continuous blocks on the ASCII table so you can can use that to verify if a char is a letter without doing an incredible long chain of if else statements.