@@ -61,7 +61,7 @@ int put_var_int(struct string_view *dest, uint64_t value)
61
61
while (value >>= 7 )
62
62
varint [-- pos ] = 0x80 | (-- value & 0x7f );
63
63
if (dest -> len < sizeof (varint ) - pos )
64
- return -1 ;
64
+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
65
65
memcpy (dest -> buf , varint + pos , sizeof (varint ) - pos );
66
66
return sizeof (varint ) - pos ;
67
67
}
@@ -129,10 +129,10 @@ static int encode_string(const char *str, struct string_view s)
129
129
size_t l = strlen (str );
130
130
int n = put_var_int (& s , l );
131
131
if (n < 0 )
132
- return -1 ;
132
+ return n ;
133
133
string_view_consume (& s , n );
134
134
if (s .len < l )
135
- return -1 ;
135
+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
136
136
memcpy (s .buf , str , l );
137
137
string_view_consume (& s , l );
138
138
@@ -148,18 +148,18 @@ int reftable_encode_key(int *restart, struct string_view dest,
148
148
uint64_t suffix_len = key .len - prefix_len ;
149
149
int n = put_var_int (& dest , prefix_len );
150
150
if (n < 0 )
151
- return -1 ;
151
+ return n ;
152
152
string_view_consume (& dest , n );
153
153
154
154
* restart = (prefix_len == 0 );
155
155
156
156
n = put_var_int (& dest , suffix_len << 3 | (uint64_t )extra );
157
157
if (n < 0 )
158
- return -1 ;
158
+ return n ;
159
159
string_view_consume (& dest , n );
160
160
161
161
if (dest .len < suffix_len )
162
- return -1 ;
162
+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
163
163
memcpy (dest .buf , key .buf + prefix_len , suffix_len );
164
164
string_view_consume (& dest , suffix_len );
165
165
@@ -324,30 +324,27 @@ static int reftable_ref_record_encode(const void *rec, struct string_view s,
324
324
struct string_view start = s ;
325
325
int n = put_var_int (& s , r -> update_index );
326
326
if (n < 0 )
327
- return -1 ;
327
+ return n ;
328
328
string_view_consume (& s , n );
329
329
330
330
switch (r -> value_type ) {
331
331
case REFTABLE_REF_SYMREF :
332
332
n = encode_string (r -> value .symref , s );
333
- if (n < 0 ) {
334
- return -1 ;
335
- }
333
+ if (n < 0 )
334
+ return n ;
336
335
string_view_consume (& s , n );
337
336
break ;
338
337
case REFTABLE_REF_VAL2 :
339
- if (s .len < 2 * hash_size ) {
340
- return -1 ;
341
- }
338
+ if (s .len < 2 * hash_size )
339
+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
342
340
memcpy (s .buf , r -> value .val2 .value , hash_size );
343
341
string_view_consume (& s , hash_size );
344
342
memcpy (s .buf , r -> value .val2 .target_value , hash_size );
345
343
string_view_consume (& s , hash_size );
346
344
break ;
347
345
case REFTABLE_REF_VAL1 :
348
- if (s .len < hash_size ) {
349
- return -1 ;
350
- }
346
+ if (s .len < hash_size )
347
+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
351
348
memcpy (s .buf , r -> value .val1 , hash_size );
352
349
string_view_consume (& s , hash_size );
353
350
break ;
@@ -531,24 +528,22 @@ static int reftable_obj_record_encode(const void *rec, struct string_view s,
531
528
uint64_t last = 0 ;
532
529
if (r -> offset_len == 0 || r -> offset_len >= 8 ) {
533
530
n = put_var_int (& s , r -> offset_len );
534
- if (n < 0 ) {
535
- return -1 ;
536
- }
531
+ if (n < 0 )
532
+ return n ;
537
533
string_view_consume (& s , n );
538
534
}
539
535
if (r -> offset_len == 0 )
540
536
return start .len - s .len ;
541
537
n = put_var_int (& s , r -> offsets [0 ]);
542
538
if (n < 0 )
543
- return -1 ;
539
+ return n ;
544
540
string_view_consume (& s , n );
545
541
546
542
last = r -> offsets [0 ];
547
543
for (i = 1 ; i < r -> offset_len ; i ++ ) {
548
544
int n = put_var_int (& s , r -> offsets [i ] - last );
549
- if (n < 0 ) {
550
- return -1 ;
551
- }
545
+ if (n < 0 )
546
+ return n ;
552
547
string_view_consume (& s , n );
553
548
last = r -> offsets [i ];
554
549
}
@@ -783,38 +778,38 @@ static int reftable_log_record_encode(const void *rec, struct string_view s,
783
778
return 0 ;
784
779
785
780
if (s .len < 2 * hash_size )
786
- return -1 ;
781
+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
787
782
788
783
memcpy (s .buf , r -> value .update .old_hash , hash_size );
789
784
memcpy (s .buf + hash_size , r -> value .update .new_hash , hash_size );
790
785
string_view_consume (& s , 2 * hash_size );
791
786
792
787
n = encode_string (r -> value .update .name ? r -> value .update .name : "" , s );
793
788
if (n < 0 )
794
- return -1 ;
789
+ return n ;
795
790
string_view_consume (& s , n );
796
791
797
792
n = encode_string (r -> value .update .email ? r -> value .update .email : "" ,
798
793
s );
799
794
if (n < 0 )
800
- return -1 ;
795
+ return n ;
801
796
string_view_consume (& s , n );
802
797
803
798
n = put_var_int (& s , r -> value .update .time );
804
799
if (n < 0 )
805
- return -1 ;
800
+ return n ;
806
801
string_view_consume (& s , n );
807
802
808
803
if (s .len < 2 )
809
- return -1 ;
804
+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
810
805
811
806
put_be16 (s .buf , r -> value .update .tz_offset );
812
807
string_view_consume (& s , 2 );
813
808
814
809
n = encode_string (
815
810
r -> value .update .message ? r -> value .update .message : "" , s );
816
811
if (n < 0 )
817
- return -1 ;
812
+ return n ;
818
813
string_view_consume (& s , n );
819
814
820
815
return start .len - s .len ;
0 commit comments