mirror of
https://github.com/transmission/transmission.git
synced 2026-04-19 16:31:13 +01:00
Correctly bencode strings containing nul characters.
This commit is contained in:
@@ -164,7 +164,8 @@ static void __bencPrint( benc_val_t * val, int space )
|
||||
break;
|
||||
|
||||
case TYPE_STR:
|
||||
fprintf( stderr, "%s\n", val->val.s.s );
|
||||
fwrite( val->val.s.s, 1, val->val.s.i, stderr );
|
||||
putc( '\n', stderr );
|
||||
break;
|
||||
|
||||
case TYPE_LIST:
|
||||
@@ -265,12 +266,8 @@ int tr_bencSave( benc_val_t * val, char ** buf, int * used, int * max )
|
||||
break;
|
||||
|
||||
case TYPE_STR:
|
||||
if( (int)strlen(val->val.s.s) != val->val.s.i )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if( tr_sprintf( buf, used, max, "%i:%s",
|
||||
val->val.s.i, val->val.s.s ) )
|
||||
if( tr_sprintf( buf, used, max, "%i:", val->val.s.i ) ||
|
||||
tr_concat( buf, used, max, val->val.s.s, val->val.s.i ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user