소스 검색

fix #589: avoid resize -1

ithewei 1 년 전
부모
커밋
703213dd32
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      util/base64.h

+ 5 - 1
util/base64.h

@@ -36,7 +36,11 @@ HV_INLINE std::string Base64Decode(const char* str, unsigned int len = 0) {
     int decoded_size = BASE64_DECODE_OUT_SIZE(len);
     int decoded_size = BASE64_DECODE_OUT_SIZE(len);
     std::string decoded_buf(decoded_size + 1, 0);
     std::string decoded_buf(decoded_size + 1, 0);
     decoded_size = hv_base64_decode(str, len, (unsigned char*)decoded_buf.data());
     decoded_size = hv_base64_decode(str, len, (unsigned char*)decoded_buf.data());
-    decoded_buf.resize(decoded_size);
+    if (decoded_size > 0) {
+        decoded_buf.resize(decoded_size);
+    } else {
+        decoded_buf.clear();
+    }
     return decoded_buf;
     return decoded_buf;
 }
 }