Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3
libgit2
libgit2-empty-lines-as-errors.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File libgit2-empty-lines-as-errors.patch of Package libgit2
commit 84d30d569ada986f3eef527cbdb932643c2dd037 Author: Patrick Steinhardt <ps@pks.im> Date: Tue Nov 15 11:44:51 2016 +0100 # #The following patch is based on the upstream commit above but modified to apply to our SLE version 0.24.1 # diff --git a/src/transports/smart_pkt.c b/src/transports/smart_pkt.c index 6fe53b9..e05196c 100644 --- a/src/transports/smart_pkt.c +++ b/src/transports/smart_pkt.c @@ -437,12 +437,13 @@ int git_pkt_parse_line( line += PKT_LEN_SIZE; /* - * TODO: How do we deal with empty lines? Try again? with the next - * line? + * The Git protocol does not specify empty lines as part + * of the protocol. Not knowing what to do with an empty + * line, we should return an error upon hitting one. */ if (len == PKT_LEN_SIZE) { - *out = line; - return 0; + giterr_set_str(GITERR_NET, "Invalid empty packet"); + return GIT_ERROR; } if (len == 0) { /* Flush pkt */ #diff --git a/src/transports/smart_protocol.c b/src/transports/smart_protocol.c #index 3448fa7..02e1ecf 100644 #--- a/src/transports/smart_protocol.c #+++ b/src/transports/smart_protocol.c #@@ -759,14 +759,6 @@ static int add_push_report_sideband_pkt(git_push *push, git_pkt_data *data_pkt, # line_len -= (line_end - line); # line = line_end; # #- /* When a valid packet with no content has been #- * read, git_pkt_parse_line does not report an #- * error, but the pkt pointer has not been set. #- * Handle this by skipping over empty packets. #- */ #- if (pkt == NULL) #- continue; #- # error = add_push_report_pkt(push, pkt); # # git_pkt_free(pkt); #@@ -821,9 +813,6 @@ static int parse_report(transport_smart *transport, git_push *push) # # error = 0; # #- if (pkt == NULL) #- continue; #- # switch (pkt->type) { # case GIT_PKT_DATA: # /* This is a sideband packet which contains other packets */
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor