mirror of
https://github.com/curl/curl.git
synced 2025-01-18 14:04:30 +08:00
parent
db02e0e980
commit
307b7543ea
@ -59,8 +59,8 @@ Releases the previously referenced buffer, then duplicates the `length`-byte
|
||||
`data` into a buffer allocated via `malloc()` and references the latter
|
||||
associated with destructor `curl_free()`.
|
||||
|
||||
An additional trailing byte is allocated and set to zero as a possible
|
||||
string zero-terminator; it is not counted in the stored length.
|
||||
An additional trailing byte is allocated and set to zero as a possible string
|
||||
null-terminator; it is not counted in the stored length.
|
||||
|
||||
Returns `CURLE_OK` if successful, else `CURLE_OUT_OF_MEMORY`.
|
||||
|
||||
|
@ -151,12 +151,12 @@ Maybe use of `realloc()` should rather use the dynbuf functions?
|
||||
Do not allow new code that grows buffers without using dynbuf.
|
||||
|
||||
Use of C functions that rely on a terminating zero must only be used on data
|
||||
that really do have a zero terminating zero.
|
||||
that really do have a null-terminating zero.
|
||||
|
||||
## Dangerous "data styles"
|
||||
|
||||
Make extra precautions and verify that memory buffers that need a terminating
|
||||
zero always have exactly that. Buffers *without* a zero terminator must not be
|
||||
zero always have exactly that. Buffers *without* a null-terminator must not be
|
||||
used as input to string functions.
|
||||
|
||||
# Commit messages
|
||||
|
@ -37,7 +37,7 @@ CURLHcode curl_easy_header(CURL *easy,
|
||||
.SH DESCRIPTION
|
||||
\fIcurl_easy_header(3)\fP returns a pointer to a "curl_header" struct in
|
||||
\fBhout\fP with data for the HTTP response header \fIname\fP. The case
|
||||
insensitive nul-terminated header name should be specified without colon.
|
||||
insensitive null-terminated header name should be specified without colon.
|
||||
|
||||
\fIindex\fP 0 means asking for the first instance of the header. If the
|
||||
returned header struct has \fBamount\fP set larger than 1, it means there are
|
||||
@ -94,7 +94,7 @@ but it might have a different case.
|
||||
|
||||
The data \fBvalue\fP field points to, comes exactly as delivered over the
|
||||
network but with leading and trailing whitespace and newlines stripped
|
||||
off. The `value` data is nul-terminated. For legacy HTTP/1 "folded headers",
|
||||
off. The `value` data is null-terminated. For legacy HTTP/1 "folded headers",
|
||||
this API provides the full single value in an unfolded manner with a single
|
||||
whitespace between the lines.
|
||||
|
||||
|
@ -33,7 +33,7 @@ typedef enum {
|
||||
CURLOT_VALUES, /* (a defined set or bitmask) */
|
||||
CURLOT_OFF_T, /* curl_off_t (a range of values) */
|
||||
CURLOT_OBJECT, /* pointer (void *) */
|
||||
CURLOT_STRING, /* (char * to zero terminated buffer) */
|
||||
CURLOT_STRING, /* (char * to null-terminated buffer) */
|
||||
CURLOT_SLIST, /* (struct curl_slist *) */
|
||||
CURLOT_CBPTR, /* (void * passed as-is to a callback) */
|
||||
CURLOT_BLOB, /* blob (struct curl_blob *) */
|
||||
|
@ -56,7 +56,7 @@ the POST data from the read callback. If you want to send a zero-byte POST set
|
||||
\fICURLOPT_POSTFIELDS(3)\fP to an empty string, or set \fICURLOPT_POST(3)\fP to
|
||||
1 and \fICURLOPT_POSTFIELDSIZE(3)\fP to 0.
|
||||
|
||||
libcurl will use assume this option points to a nul-terminated string unless
|
||||
libcurl will use assume this option points to a null-terminated string unless
|
||||
you also set \fICURLOPT_POSTFIELDSIZE(3)\fP to specify the length of the
|
||||
provided data, which then is strictly required if you want to send off nul
|
||||
bytes included in the data.
|
||||
|
@ -59,12 +59,12 @@ The callback function must return \fICURL_PREREQFUNC_OK\fP on success, or
|
||||
|
||||
This function is passed the following arguments:
|
||||
.IP conn_primary_ip
|
||||
A nul-terminated pointer to a C string containing the primary IP of the remote
|
||||
server established with this connection. For FTP, this is the IP for the
|
||||
control connection. IPv6 addresses are represented without surrounding
|
||||
A null-terminated pointer to a C string containing the primary IP of the
|
||||
remote server established with this connection. For FTP, this is the IP for
|
||||
the control connection. IPv6 addresses are represented without surrounding
|
||||
brackets.
|
||||
.IP conn_local_ip
|
||||
A nul-terminated pointer to a C string containing the originating IP for this
|
||||
A null-terminated pointer to a C string containing the originating IP for this
|
||||
connection. IPv6 addresses are represented without surrounding brackets.
|
||||
.IP conn_primary_port
|
||||
The primary port number on the remote server established with this connection.
|
||||
|
@ -33,7 +33,7 @@ typedef enum {
|
||||
CURLOT_VALUES, /* (a defined set or bitmask) */
|
||||
CURLOT_OFF_T, /* curl_off_t (a range of values) */
|
||||
CURLOT_OBJECT, /* pointer (void *) */
|
||||
CURLOT_STRING, /* (char * to zero terminated buffer) */
|
||||
CURLOT_STRING, /* (char * to null-terminated buffer) */
|
||||
CURLOT_SLIST, /* (struct curl_slist *) */
|
||||
CURLOT_CBPTR, /* (void * passed as-is to a callback) */
|
||||
CURLOT_BLOB, /* blob (struct curl_blob *) */
|
||||
|
@ -138,7 +138,7 @@ CURLcode Curl_base64_decode(const char *src,
|
||||
/* Calculate the size of the decoded string */
|
||||
rawlen = (numQuantums * 3) - padding;
|
||||
|
||||
/* Allocate our buffer including room for a zero terminator */
|
||||
/* Allocate our buffer including room for a null-terminator */
|
||||
newstr = malloc(rawlen + 1);
|
||||
if(!newstr)
|
||||
return CURLE_OUT_OF_MEMORY;
|
||||
|
@ -279,7 +279,7 @@ Curl_he2ai(const struct hostent *he, int port)
|
||||
|
||||
for(i = 0; (curr = he->h_addr_list[i]) != NULL; i++) {
|
||||
size_t ss_size;
|
||||
size_t namelen = strlen(he->h_name) + 1; /* include zero termination */
|
||||
size_t namelen = strlen(he->h_name) + 1; /* include null-terminatior */
|
||||
#ifdef ENABLE_IPV6
|
||||
if(he->h_addrtype == AF_INET6)
|
||||
ss_size = sizeof(struct sockaddr_in6);
|
||||
|
@ -792,7 +792,7 @@ doh2ai(const struct dohentry *de, const char *hostname, int port)
|
||||
#endif
|
||||
CURLcode result = CURLE_OK;
|
||||
int i;
|
||||
size_t hostlen = strlen(hostname) + 1; /* include zero terminator */
|
||||
size_t hostlen = strlen(hostname) + 1; /* include null-terminator */
|
||||
|
||||
if(!de)
|
||||
/* no input == no output! */
|
||||
|
@ -46,7 +46,7 @@
|
||||
|
||||
struct dynbuf {
|
||||
char *bufr; /* point to a null-terminated allocated buffer */
|
||||
size_t leng; /* number of bytes *EXCLUDING* the zero terminator */
|
||||
size_t leng; /* number of bytes *EXCLUDING* the null-terminator */
|
||||
size_t allc; /* size of the current allocation */
|
||||
size_t toobig; /* size limit for the buffer */
|
||||
#ifdef DEBUGBUILD
|
||||
|
@ -259,7 +259,7 @@ static CURLcode unfold_value(struct Curl_easy *data, const char *value,
|
||||
|
||||
/* put the data at the end of the previous data, not the newline */
|
||||
memcpy(&newhs->value[olen], value, vlen);
|
||||
newhs->value[olen + vlen] = 0; /* zero terminate at newline */
|
||||
newhs->value[olen + vlen] = 0; /* null-terminate at newline */
|
||||
|
||||
/* insert this node into the list of headers */
|
||||
Curl_llist_insert_next(&data->state.httphdrs, data->state.httphdrs.tail,
|
||||
|
@ -956,7 +956,7 @@ static int dprintf_formatf(
|
||||
else
|
||||
*fptr++ = 'f';
|
||||
|
||||
*fptr = 0; /* and a final zero termination */
|
||||
*fptr = 0; /* and a final null-termination */
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
|
@ -212,7 +212,7 @@ CURLcode Curl_rand(struct Curl_easy *data, unsigned char *rnd, size_t num)
|
||||
|
||||
/*
|
||||
* Curl_rand_hex() fills the 'rnd' buffer with a given 'num' size with random
|
||||
* hexadecimal digits PLUS a zero terminating byte. It must be an odd number
|
||||
* hexadecimal digits PLUS a null-terminating byte. It must be an odd number
|
||||
* size.
|
||||
*/
|
||||
|
||||
@ -235,7 +235,7 @@ CURLcode Curl_rand_hex(struct Curl_easy *data, unsigned char *rnd,
|
||||
/* make sure it fits in the local buffer and that it is an odd number! */
|
||||
return CURLE_BAD_FUNCTION_ARGUMENT;
|
||||
|
||||
num--; /* save one for zero termination */
|
||||
num--; /* save one for null-termination */
|
||||
|
||||
result = Curl_rand(data, buffer, num/2);
|
||||
if(result)
|
||||
|
@ -42,7 +42,7 @@ CURLcode Curl_rand(struct Curl_easy *data, unsigned char *rnd, size_t num);
|
||||
|
||||
/*
|
||||
* Curl_rand_hex() fills the 'rnd' buffer with a given 'num' size with random
|
||||
* hexadecimal digits PLUS a zero terminating byte. It must be an odd number
|
||||
* hexadecimal digits PLUS a null-terminating byte. It must be an odd number
|
||||
* size.
|
||||
*/
|
||||
CURLcode Curl_rand_hex(struct Curl_easy *data, unsigned char *rnd,
|
||||
|
@ -382,7 +382,7 @@ CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,
|
||||
if(!(qop_values & DIGEST_QOP_VALUE_AUTH))
|
||||
return CURLE_BAD_CONTENT_ENCODING;
|
||||
|
||||
/* Generate 32 random hex chars, 32 bytes + 1 zero termination */
|
||||
/* Generate 32 random hex chars, 32 bytes + 1 null-termination */
|
||||
result = Curl_rand_hex(data, (unsigned char *)cnonce, sizeof(cnonce));
|
||||
if(result)
|
||||
return result;
|
||||
|
@ -658,7 +658,7 @@ CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,
|
||||
/* LanManager response */
|
||||
/* NT response */
|
||||
|
||||
0, /* zero termination */
|
||||
0, /* null-termination */
|
||||
0, 0, 0, /* type-3 long, the 24 upper bits */
|
||||
|
||||
SHORTPAIR(0x18), /* LanManager response length, twice */
|
||||
|
@ -47,7 +47,7 @@ int test(char *URL)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* make it a zero terminated C string with just As */
|
||||
/* make it a null-terminated C string with just As */
|
||||
memset(buffer, 'A', MAX_INPUT_LENGTH + 1);
|
||||
buffer[MAX_INPUT_LENGTH + 1] = 0;
|
||||
|
||||
|
@ -75,7 +75,7 @@ static struct Curl_addrinfo *fake_ai(void)
|
||||
{
|
||||
static struct Curl_addrinfo *ai;
|
||||
static const char dummy[]="dummy";
|
||||
size_t namelen = sizeof(dummy); /* including the zero terminator */
|
||||
size_t namelen = sizeof(dummy); /* including the null-terminator */
|
||||
|
||||
ai = calloc(1, sizeof(struct Curl_addrinfo) + sizeof(struct sockaddr_in) +
|
||||
namelen);
|
||||
|
Loading…
Reference in New Issue
Block a user