{
        const char *k = line;
 
-       while ((line <= limit) && (*line == '\r' || *line == '\n'))
+       while ((line < limit) && (*line == '\r' || *line == '\n'))
                line++;
 
-       while (line <= limit) {
+       while (line < limit) {
                if (*line == '\r' || *line == '\n')
                        break;
                line++;
 {
        const char *limit = haystack + (haystack_len - needle_len);
 
-       while (haystack <= limit) {
+       while (haystack < limit) {
                if (case_sensitive) {
                        if (strncmp(haystack, needle, needle_len) == 0)
                                return haystack;
                      const char *limit, int *shift)
 {
        int len = 0;
-       while (dptr <= limit && isdigit(*dptr)) {
+       while (dptr < limit && isdigit(*dptr)) {
                dptr++;
                len++;
        }
 static int skp_digits_len(const struct nf_conn *ct, const char *dptr,
                          const char *limit, int *shift)
 {
-       for (; dptr <= limit && *dptr == ' '; dptr++)
+       for (; dptr < limit && *dptr == ' '; dptr++)
                (*shift)++;
 
        return digits_len(ct, dptr, limit, shift);
        /* Search for @, but stop at the end of the line.
         * We are inside a sip: URI, so we don't need to worry about
         * continuation lines. */
-       while (dptr <= limit &&
+       while (dptr < limit &&
               *dptr != '@' && *dptr != '\r' && *dptr != '\n') {
                (*shift)++;
                dptr++;
        }
 
-       if (dptr <= limit && *dptr == '@') {
+       if (dptr < limit && *dptr == '@') {
                dptr++;
                (*shift)++;
        } else {
 
        limit = dptr + (dlen - hnfo->lnlen);
 
-       while (dptr <= limit) {
+       while (dptr < limit) {
                if ((strncmp(dptr, hnfo->lname, hnfo->lnlen) != 0) &&
                    (hnfo->sname == NULL ||
                     strncmp(dptr, hnfo->sname, hnfo->snlen) != 0)) {