Skip to content

Commit e710c78

Browse files
authored
Merge pull request #4 from kuixiao/bug_fix_sha1
bug fix: invalid signature when private key is beyong 64 bytes
2 parents 470ef9c + 0885e05 commit e710c78

File tree

6 files changed

+10
-4
lines changed

6 files changed

+10
-4
lines changed

examples/file.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ int main(int argc, char *argv[]){
5151
// 获取文件基本信息
5252
printf("调用 ufile_head 获取文件基本信息\n");
5353
struct ufile_file_info file_info;
54+
file_info.etag = NULL;
55+
file_info.mime_type = NULL;
5456
error = ufile_head(bucket_name, key_name, &file_info);
5557
if UFILE_HAS_ERROR(error.code) {
5658
printf("调用 head 失败,错误信息为:%s\n", error.message);

examples/file_async_mput.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ int main(int argc, char *argv[]){
3535
char* bucket_name = argv[1];
3636
char* key_name = argv[2];
3737
char* file_path = argv[3];
38-
char* mime_type;
38+
char* mime_type = "";
3939
if (argc > 4) {
4040
mime_type = argv[4];
4141
}

examples/file_head_file.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ int main(int argc, char *argv[]){
3030

3131
printf("调用 ufile_head 获取文件基本信息\n");
3232
struct ufile_file_info file_info;
33+
file_info.etag = NULL;
34+
file_info.mime_type = NULL;
3335
error = ufile_head(bucket_name, key_name, &file_info);
3436
if UFILE_HAS_ERROR(error.code) {
3537
printf("调用 head 失败,错误信息为:%s\n", error.message);

examples/head_file.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ int main(int argc, char *argv[]){
2424
}
2525

2626
struct ufile_file_info file_info;
27+
file_info.etag = NULL;
28+
file_info.mime_type = NULL;
2729
printf("调用 head file .....\n");
2830
error = ufile_head(bucket_name, key_name, &file_info);
2931
if UFILE_HAS_ERROR(error.code) {

lib/api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ void ufile_free_file_info(struct ufile_file_info info){
7575
if(info.etag != NULL){
7676
free((void*)info.etag);
7777
}
78-
if(info.etag != NULL){
78+
if(info.mime_type != NULL){
7979
free((void*)info.mime_type);
8080
}
8181
}

lib/encoding.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -512,8 +512,8 @@ void HMAC_SHA1(unsigned char hmac[HMAC_LEN], const unsigned char *key, int key_l
512512

513513
// sha1 输出一个长度为 20 bytes 的摘要
514514
unsigned char digest[20];
515-
SHA1Context context;
516-
char sha1_key[key_len];
515+
SHA1Context context;
516+
char sha1_key[key_len+1];
517517
strcpy(sha1_key, key);
518518
if (key_len > 64) {
519519
SHA1_init(&context);

0 commit comments

Comments
 (0)