正在显示
1 个修改的文件
包含
12 行增加
和
18 行删除
| @@ -320,13 +320,9 @@ namespace _srs_internal | @@ -320,13 +320,9 @@ namespace _srs_internal | ||
| 320 | 320 | ||
| 321 | key_block::~key_block() | 321 | key_block::~key_block() |
| 322 | { | 322 | { |
| 323 | - if (random0) { | ||
| 324 | srs_freep(random0); | 323 | srs_freep(random0); |
| 325 | - } | ||
| 326 | - if (random1) { | ||
| 327 | srs_freep(random1); | 324 | srs_freep(random1); |
| 328 | } | 325 | } |
| 329 | - } | ||
| 330 | 326 | ||
| 331 | int key_block::parse(SrsStream* stream) | 327 | int key_block::parse(SrsStream* stream) |
| 332 | { | 328 | { |
| @@ -342,15 +338,12 @@ namespace _srs_internal | @@ -342,15 +338,12 @@ namespace _srs_internal | ||
| 342 | // reset stream to read others. | 338 | // reset stream to read others. |
| 343 | stream->skip(-764); | 339 | stream->skip(-764); |
| 344 | 340 | ||
| 345 | - // TODO: FIXME: free it. | ||
| 346 | - random0 = NULL; | ||
| 347 | - random1 = NULL; | ||
| 348 | - | ||
| 349 | int valid_offset = calc_valid_offset(); | 341 | int valid_offset = calc_valid_offset(); |
| 350 | srs_assert(valid_offset >= 0); | 342 | srs_assert(valid_offset >= 0); |
| 351 | 343 | ||
| 352 | random0_size = valid_offset; | 344 | random0_size = valid_offset; |
| 353 | if (random0_size > 0) { | 345 | if (random0_size > 0) { |
| 346 | + srs_freep(random0); | ||
| 354 | random0 = new char[random0_size]; | 347 | random0 = new char[random0_size]; |
| 355 | stream->read_bytes(random0, random0_size); | 348 | stream->read_bytes(random0, random0_size); |
| 356 | } | 349 | } |
| @@ -359,6 +352,7 @@ namespace _srs_internal | @@ -359,6 +352,7 @@ namespace _srs_internal | ||
| 359 | 352 | ||
| 360 | random1_size = 764 - valid_offset - 128 - 4; | 353 | random1_size = 764 - valid_offset - 128 - 4; |
| 361 | if (random1_size > 0) { | 354 | if (random1_size > 0) { |
| 355 | + srs_freep(random1); | ||
| 362 | random1 = new char[random1_size]; | 356 | random1 = new char[random1_size]; |
| 363 | stream->read_bytes(random1, random1_size); | 357 | stream->read_bytes(random1, random1_size); |
| 364 | } | 358 | } |
| @@ -408,13 +402,9 @@ namespace _srs_internal | @@ -408,13 +402,9 @@ namespace _srs_internal | ||
| 408 | 402 | ||
| 409 | digest_block::~digest_block() | 403 | digest_block::~digest_block() |
| 410 | { | 404 | { |
| 411 | - if (random0) { | ||
| 412 | srs_freep(random0); | 405 | srs_freep(random0); |
| 413 | - } | ||
| 414 | - if (random1) { | ||
| 415 | srs_freep(random1); | 406 | srs_freep(random1); |
| 416 | } | 407 | } |
| 417 | - } | ||
| 418 | 408 | ||
| 419 | int digest_block::parse(SrsStream* stream) | 409 | int digest_block::parse(SrsStream* stream) |
| 420 | { | 410 | { |
| @@ -425,15 +415,12 @@ namespace _srs_internal | @@ -425,15 +415,12 @@ namespace _srs_internal | ||
| 425 | 415 | ||
| 426 | offset = stream->read_4bytes(); | 416 | offset = stream->read_4bytes(); |
| 427 | 417 | ||
| 428 | - // TODO: FIXME: free it. | ||
| 429 | - random0 = NULL; | ||
| 430 | - random1 = NULL; | ||
| 431 | - | ||
| 432 | int valid_offset = calc_valid_offset(); | 418 | int valid_offset = calc_valid_offset(); |
| 433 | srs_assert(valid_offset >= 0); | 419 | srs_assert(valid_offset >= 0); |
| 434 | 420 | ||
| 435 | random0_size = valid_offset; | 421 | random0_size = valid_offset; |
| 436 | if (random0_size > 0) { | 422 | if (random0_size > 0) { |
| 423 | + srs_freep(random0); | ||
| 437 | random0 = new char[random0_size]; | 424 | random0 = new char[random0_size]; |
| 438 | stream->read_bytes(random0, random0_size); | 425 | stream->read_bytes(random0, random0_size); |
| 439 | } | 426 | } |
| @@ -442,6 +429,7 @@ namespace _srs_internal | @@ -442,6 +429,7 @@ namespace _srs_internal | ||
| 442 | 429 | ||
| 443 | random1_size = 764 - 4 - valid_offset - 32; | 430 | random1_size = 764 - 4 - valid_offset - 32; |
| 444 | if (random1_size > 0) { | 431 | if (random1_size > 0) { |
| 432 | + srs_freep(random1); | ||
| 445 | random1 = new char[random1_size]; | 433 | random1 = new char[random1_size]; |
| 446 | stream->read_bytes(random1, random1_size); | 434 | stream->read_bytes(random1, random1_size); |
| 447 | } | 435 | } |
| @@ -741,9 +729,10 @@ namespace _srs_internal | @@ -741,9 +729,10 @@ namespace _srs_internal | ||
| 741 | 729 | ||
| 742 | int c1s1_strategy_schema0::copy_to(c1s1* owner, char* bytes, int size, bool with_digest) | 730 | int c1s1_strategy_schema0::copy_to(c1s1* owner, char* bytes, int size, bool with_digest) |
| 743 | { | 731 | { |
| 744 | - SrsStream stream; | ||
| 745 | int ret = ERROR_SUCCESS; | 732 | int ret = ERROR_SUCCESS; |
| 746 | 733 | ||
| 734 | + SrsStream stream; | ||
| 735 | + | ||
| 747 | if ((ret = stream.initialize(bytes, size)) != ERROR_SUCCESS) { | 736 | if ((ret = stream.initialize(bytes, size)) != ERROR_SUCCESS) { |
| 748 | return ret; | 737 | return ret; |
| 749 | } | 738 | } |
| @@ -753,6 +742,8 @@ namespace _srs_internal | @@ -753,6 +742,8 @@ namespace _srs_internal | ||
| 753 | copy_digest(&stream, with_digest); | 742 | copy_digest(&stream, with_digest); |
| 754 | 743 | ||
| 755 | srs_assert(stream.empty()); | 744 | srs_assert(stream.empty()); |
| 745 | + | ||
| 746 | + return ret; | ||
| 756 | } | 747 | } |
| 757 | 748 | ||
| 758 | c1s1_strategy_schema1::c1s1_strategy_schema1() | 749 | c1s1_strategy_schema1::c1s1_strategy_schema1() |
| @@ -801,9 +792,10 @@ namespace _srs_internal | @@ -801,9 +792,10 @@ namespace _srs_internal | ||
| 801 | 792 | ||
| 802 | int c1s1_strategy_schema1::copy_to(c1s1* owner, char* bytes, int size, bool with_digest) | 793 | int c1s1_strategy_schema1::copy_to(c1s1* owner, char* bytes, int size, bool with_digest) |
| 803 | { | 794 | { |
| 804 | - SrsStream stream; | ||
| 805 | int ret = ERROR_SUCCESS; | 795 | int ret = ERROR_SUCCESS; |
| 806 | 796 | ||
| 797 | + SrsStream stream; | ||
| 798 | + | ||
| 807 | if ((ret = stream.initialize(bytes, size)) != ERROR_SUCCESS) { | 799 | if ((ret = stream.initialize(bytes, size)) != ERROR_SUCCESS) { |
| 808 | return ret; | 800 | return ret; |
| 809 | } | 801 | } |
| @@ -813,6 +805,8 @@ namespace _srs_internal | @@ -813,6 +805,8 @@ namespace _srs_internal | ||
| 813 | copy_key(&stream); | 805 | copy_key(&stream); |
| 814 | 806 | ||
| 815 | srs_assert(stream.empty()); | 807 | srs_assert(stream.empty()); |
| 808 | + | ||
| 809 | + return ret; | ||
| 816 | } | 810 | } |
| 817 | 811 | ||
| 818 | // TODO: FIXME: move to the right position. | 812 | // TODO: FIXME: move to the right position. |
-
请 注册 或 登录 后发表评论