Fix potential heap buffer overflow in hdfs.c. Contributed by Igor Chervatyuk.
This commit is contained in:
parent
23e2a0b202
commit
4972e7a246
|
@ -956,9 +956,14 @@ struct hdfsStreamBuilder {
|
|||
struct hdfsStreamBuilder *hdfsStreamBuilderAlloc(hdfsFS fs,
|
||||
const char *path, int flags)
|
||||
{
|
||||
int path_len = strlen(path);
|
||||
size_t path_len = strlen(path);
|
||||
struct hdfsStreamBuilder *bld;
|
||||
|
||||
// Check for overflow in path_len
|
||||
if (path_len > SIZE_MAX - sizeof(struct hdfsStreamBuilder)) {
|
||||
errno = EOVERFLOW;
|
||||
return NULL;
|
||||
}
|
||||
// sizeof(hdfsStreamBuilder->path) includes one byte for the string
|
||||
// terminator
|
||||
bld = malloc(sizeof(struct hdfsStreamBuilder) + path_len);
|
||||
|
|
Loading…
Reference in New Issue