[BACK]Return to sshbuf-getput-basic.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/sshbuf-getput-basic.c between version 1.12 and 1.13

version 1.12, 2022/05/25 00:31:13 version 1.13, 2022/05/25 06:03:44
Line 194 
Line 194 
                 return r;                  return r;
         if (valp != NULL) {          if (valp != NULL) {
                 if ((*valp = malloc(len + 1)) == NULL) {                  if ((*valp = malloc(len + 1)) == NULL) {
                         SSHBUF_DBG("SSH_ERR_ALLOC_FAIL");                          SSHBUF_DBG(("SSH_ERR_ALLOC_FAIL"));
                         return SSH_ERR_ALLOC_FAIL;                          return SSH_ERR_ALLOC_FAIL;
                 }                  }
                 if (len != 0)                  if (len != 0)
Line 225 
Line 225 
                 *lenp = len;                  *lenp = len;
         if (sshbuf_consume(buf, len + 4) != 0) {          if (sshbuf_consume(buf, len + 4) != 0) {
                 /* Shouldn't happen */                  /* Shouldn't happen */
                 SSHBUF_DBG("SSH_ERR_INTERNAL_ERROR");                  SSHBUF_DBG(("SSH_ERR_INTERNAL_ERROR"));
                 SSHBUF_ABORT();                  SSHBUF_ABORT();
                 return SSH_ERR_INTERNAL_ERROR;                  return SSH_ERR_INTERNAL_ERROR;
         }          }
Line 244 
Line 244 
         if (lenp != NULL)          if (lenp != NULL)
                 *lenp = 0;                  *lenp = 0;
         if (sshbuf_len(buf) < 4) {          if (sshbuf_len(buf) < 4) {
                 SSHBUF_DBG("SSH_ERR_MESSAGE_INCOMPLETE");                  SSHBUF_DBG(("SSH_ERR_MESSAGE_INCOMPLETE"));
                 return SSH_ERR_MESSAGE_INCOMPLETE;                  return SSH_ERR_MESSAGE_INCOMPLETE;
         }          }
         len = PEEK_U32(p);          len = PEEK_U32(p);
         if (len > SSHBUF_SIZE_MAX - 4) {          if (len > SSHBUF_SIZE_MAX - 4) {
                 SSHBUF_DBG("SSH_ERR_STRING_TOO_LARGE");                  SSHBUF_DBG(("SSH_ERR_STRING_TOO_LARGE"));
                 return SSH_ERR_STRING_TOO_LARGE;                  return SSH_ERR_STRING_TOO_LARGE;
         }          }
         if (sshbuf_len(buf) - 4 < len) {          if (sshbuf_len(buf) - 4 < len) {
                 SSHBUF_DBG("SSH_ERR_MESSAGE_INCOMPLETE");                  SSHBUF_DBG(("SSH_ERR_MESSAGE_INCOMPLETE"));
                 return SSH_ERR_MESSAGE_INCOMPLETE;                  return SSH_ERR_MESSAGE_INCOMPLETE;
         }          }
         if (valp != NULL)          if (valp != NULL)
Line 279 
Line 279 
         /* Allow a \0 only at the end of the string */          /* Allow a \0 only at the end of the string */
         if (len > 0 &&          if (len > 0 &&
             (z = memchr(p , '\0', len)) != NULL && z < p + len - 1) {              (z = memchr(p , '\0', len)) != NULL && z < p + len - 1) {
                 SSHBUF_DBG("SSH_ERR_INVALID_FORMAT");                  SSHBUF_DBG(("SSH_ERR_INVALID_FORMAT"));
                 return SSH_ERR_INVALID_FORMAT;                  return SSH_ERR_INVALID_FORMAT;
         }          }
         if ((r = sshbuf_skip_string(buf)) != 0)          if ((r = sshbuf_skip_string(buf)) != 0)
                 return -1;                  return -1;
         if (valp != NULL) {          if (valp != NULL) {
                 if ((*valp = malloc(len + 1)) == NULL) {                  if ((*valp = malloc(len + 1)) == NULL) {
                         SSHBUF_DBG("SSH_ERR_ALLOC_FAIL");                          SSHBUF_DBG(("SSH_ERR_ALLOC_FAIL"));
                         return SSH_ERR_ALLOC_FAIL;                          return SSH_ERR_ALLOC_FAIL;
                 }                  }
                 if (len != 0)                  if (len != 0)
Line 513 
Line 513 
         int r;          int r;
   
         if (len > SSHBUF_SIZE_MAX - 4) {          if (len > SSHBUF_SIZE_MAX - 4) {
                 SSHBUF_DBG("SSH_ERR_NO_BUFFER_SPACE");                  SSHBUF_DBG(("SSH_ERR_NO_BUFFER_SPACE"));
                 return SSH_ERR_NO_BUFFER_SPACE;                  return SSH_ERR_NO_BUFFER_SPACE;
         }          }
         if ((r = sshbuf_reserve(buf, len + 4, &d)) < 0)          if ((r = sshbuf_reserve(buf, len + 4, &d)) < 0)
Line 571 
Line 571 
         int r, prepend;          int r, prepend;
   
         if (len > SSHBUF_SIZE_MAX - 5) {          if (len > SSHBUF_SIZE_MAX - 5) {
                 SSHBUF_DBG("SSH_ERR_NO_BUFFER_SPACE");                  SSHBUF_DBG(("SSH_ERR_NO_BUFFER_SPACE"));
                 return SSH_ERR_NO_BUFFER_SPACE;                  return SSH_ERR_NO_BUFFER_SPACE;
         }          }
         /* Skip leading zero bytes */          /* Skip leading zero bytes */
Line 621 
Line 621 
                 *lenp = len;                  *lenp = len;
         if (sshbuf_consume(buf, olen + 4) != 0) {          if (sshbuf_consume(buf, olen + 4) != 0) {
                 /* Shouldn't happen */                  /* Shouldn't happen */
                 SSHBUF_DBG("SSH_ERR_INTERNAL_ERROR");                  SSHBUF_DBG(("SSH_ERR_INTERNAL_ERROR"));
                 SSHBUF_ABORT();                  SSHBUF_ABORT();
                 return SSH_ERR_INTERNAL_ERROR;                  return SSH_ERR_INTERNAL_ERROR;
         }          }

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13