Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2013-09-24 00:40:23 +0400
committerRussell Belfer <rb@github.com>2013-09-24 08:41:52 +0400
commit713793133f65569561c6ca518f61acdddd1d3b65 (patch)
treea3446423018ebc93ff79b82dc4c2c74c4e75b430 /src/filter.c
parent1ca3e49f889a3732922e6f2b303dfe0d9f74300a (diff)
Fix warnings on Windows 64-bit build
Diffstat (limited to 'src/filter.c')
-rw-r--r--src/filter.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/filter.c b/src/filter.c
index 503f18555..9f866fe88 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -657,9 +657,17 @@ int git_filter_list_apply_to_blob(
git_filter_list *filters,
git_blob *blob)
{
- git_buf in = {
- (char *)git_blob_rawcontent(blob), 0, git_blob_rawsize(blob)
- };
+ git_buf in = GIT_BUF_INIT;
+ git_off_t rawsize = git_blob_rawsize(blob);
+
+ if (!git__is_sizet(rawsize)) {
+ giterr_set(GITERR_OS, "Blob is too large to filter");
+ return -1;
+ }
+
+ in.ptr = (char *)git_blob_rawcontent(blob);
+ in.asize = 0;
+ in.size = (size_t)rawsize;
if (filters)
git_oid_cpy(&filters->source.oid, git_blob_id(blob));