@@ -61,7 +61,7 @@ int put_var_int(struct string_view *dest, uint64_t value)
6161 while (value >>= 7 )
6262 varint [-- pos ] = 0x80 | (-- value & 0x7f );
6363 if (dest -> len < sizeof (varint ) - pos )
64- return -1 ;
64+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
6565 memcpy (dest -> buf , varint + pos , sizeof (varint ) - pos );
6666 return sizeof (varint ) - pos ;
6767}
@@ -129,10 +129,10 @@ static int encode_string(const char *str, struct string_view s)
129129 size_t l = strlen (str );
130130 int n = put_var_int (& s , l );
131131 if (n < 0 )
132- return -1 ;
132+ return n ;
133133 string_view_consume (& s , n );
134134 if (s .len < l )
135- return -1 ;
135+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
136136 memcpy (s .buf , str , l );
137137 string_view_consume (& s , l );
138138
@@ -148,18 +148,18 @@ int reftable_encode_key(int *restart, struct string_view dest,
148148 uint64_t suffix_len = key .len - prefix_len ;
149149 int n = put_var_int (& dest , prefix_len );
150150 if (n < 0 )
151- return -1 ;
151+ return n ;
152152 string_view_consume (& dest , n );
153153
154154 * restart = (prefix_len == 0 );
155155
156156 n = put_var_int (& dest , suffix_len << 3 | (uint64_t )extra );
157157 if (n < 0 )
158- return -1 ;
158+ return n ;
159159 string_view_consume (& dest , n );
160160
161161 if (dest .len < suffix_len )
162- return -1 ;
162+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
163163 memcpy (dest .buf , key .buf + prefix_len , suffix_len );
164164 string_view_consume (& dest , suffix_len );
165165
@@ -324,30 +324,27 @@ static int reftable_ref_record_encode(const void *rec, struct string_view s,
324324 struct string_view start = s ;
325325 int n = put_var_int (& s , r -> update_index );
326326 if (n < 0 )
327- return -1 ;
327+ return n ;
328328 string_view_consume (& s , n );
329329
330330 switch (r -> value_type ) {
331331 case REFTABLE_REF_SYMREF :
332332 n = encode_string (r -> value .symref , s );
333- if (n < 0 ) {
334- return -1 ;
335- }
333+ if (n < 0 )
334+ return n ;
336335 string_view_consume (& s , n );
337336 break ;
338337 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 ;
342340 memcpy (s .buf , r -> value .val2 .value , hash_size );
343341 string_view_consume (& s , hash_size );
344342 memcpy (s .buf , r -> value .val2 .target_value , hash_size );
345343 string_view_consume (& s , hash_size );
346344 break ;
347345 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 ;
351348 memcpy (s .buf , r -> value .val1 , hash_size );
352349 string_view_consume (& s , hash_size );
353350 break ;
@@ -531,24 +528,22 @@ static int reftable_obj_record_encode(const void *rec, struct string_view s,
531528 uint64_t last = 0 ;
532529 if (r -> offset_len == 0 || r -> offset_len >= 8 ) {
533530 n = put_var_int (& s , r -> offset_len );
534- if (n < 0 ) {
535- return -1 ;
536- }
531+ if (n < 0 )
532+ return n ;
537533 string_view_consume (& s , n );
538534 }
539535 if (r -> offset_len == 0 )
540536 return start .len - s .len ;
541537 n = put_var_int (& s , r -> offsets [0 ]);
542538 if (n < 0 )
543- return -1 ;
539+ return n ;
544540 string_view_consume (& s , n );
545541
546542 last = r -> offsets [0 ];
547543 for (i = 1 ; i < r -> offset_len ; i ++ ) {
548544 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 ;
552547 string_view_consume (& s , n );
553548 last = r -> offsets [i ];
554549 }
@@ -783,38 +778,38 @@ static int reftable_log_record_encode(const void *rec, struct string_view s,
783778 return 0 ;
784779
785780 if (s .len < 2 * hash_size )
786- return -1 ;
781+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
787782
788783 memcpy (s .buf , r -> value .update .old_hash , hash_size );
789784 memcpy (s .buf + hash_size , r -> value .update .new_hash , hash_size );
790785 string_view_consume (& s , 2 * hash_size );
791786
792787 n = encode_string (r -> value .update .name ? r -> value .update .name : "" , s );
793788 if (n < 0 )
794- return -1 ;
789+ return n ;
795790 string_view_consume (& s , n );
796791
797792 n = encode_string (r -> value .update .email ? r -> value .update .email : "" ,
798793 s );
799794 if (n < 0 )
800- return -1 ;
795+ return n ;
801796 string_view_consume (& s , n );
802797
803798 n = put_var_int (& s , r -> value .update .time );
804799 if (n < 0 )
805- return -1 ;
800+ return n ;
806801 string_view_consume (& s , n );
807802
808803 if (s .len < 2 )
809- return -1 ;
804+ return REFTABLE_ENTRY_TOO_BIG_ERROR ;
810805
811806 put_be16 (s .buf , r -> value .update .tz_offset );
812807 string_view_consume (& s , 2 );
813808
814809 n = encode_string (
815810 r -> value .update .message ? r -> value .update .message : "" , s );
816811 if (n < 0 )
817- return -1 ;
812+ return n ;
818813 string_view_consume (& s , n );
819814
820815 return start .len - s .len ;
0 commit comments