summaryrefslogtreecommitdiff
path: root/ext/digest/digest.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/digest/digest.h')
-rw-r--r--ext/digest/digest.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/digest/digest.h b/ext/digest/digest.h
index 0d4f0e7cc2..68a3da5dd2 100644
--- a/ext/digest/digest.h
+++ b/ext/digest/digest.h
@@ -38,9 +38,10 @@ rb_digest_##name##_update(void *ctx, unsigned char *ptr, size_t size) \
const unsigned int stride = 16384; \
\
for (; size > stride; size -= stride, ptr += stride) { \
- name##_Update(ctx, ptr, stride); \
+ name##_Update(ctx, ptr, stride); \
} \
- if (size > 0) name##_Update(ctx, ptr, size); \
+ /* Since size <= stride, size should fit into an unsigned int */ \
+ if (size > 0) name##_Update(ctx, ptr, (unsigned int)size); \
}
#define DEFINE_FINISH_FUNC_FROM_FINAL(name) \