]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/sha1.c
add a termination condition
[ffmpeg] / libavutil / sha1.c
index 971fac744499adebbd377aa32ee5bad001738f28..61ad38de28e73d697063dd2f846f81ddb189c130 100644 (file)
@@ -34,7 +34,7 @@ const int av_sha1_size = sizeof(AVSHA1);
 #define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits))))
 
 /* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */
-#define blk0(i) (block[i] = be2me_32(((uint32_t*)buffer)[i]))
+#define blk0(i) (block[i] = be2me_32(((const uint32_t*)buffer)[i]))
 #define blk(i) (block[i] = rol(block[i-3]^block[i-8]^block[i-14]^block[i-16],1))
 
 #define R0(v,w,x,y,z,i) z+=((w&(x^y))^y)    +blk0(i)+0x5A827999+rol(v,5);w=rol(w,30);
@@ -45,7 +45,7 @@ const int av_sha1_size = sizeof(AVSHA1);
 
 /* Hash a single 512-bit block. This is the core of the algorithm. */
 
-static void transform(uint32_t state[5], uint8_t buffer[64]){
+static void transform(uint32_t state[5], const uint8_t buffer[64]){
     uint32_t block[80];
     unsigned int i, a, b, c, d, e;
 
@@ -105,7 +105,7 @@ void av_sha1_init(AVSHA1* ctx){
     ctx->count    = 0;
 }
 
-void av_sha1_update(AVSHA1* ctx, uint8_t* data, unsigned int len){
+void av_sha1_update(AVSHA1* ctx, const uint8_t* data, unsigned int len){
     unsigned int i, j;
 
     j = ctx->count & 63;