Commits


gotwebd: plug leak in got_output_repo_tree


gotwebd: fix usage of the commit graph iter got_get_repo_commits mixes ids allocated on the heap and the one returned by the iter_next in the same variable, and then even attemp to free it. This is both a leak (we loose the pointer to the previously allocated id) and a possible invalid free since the object id pointer returned by the graph iterator is not to be passed to free(3). part of a bigger diff that's ok stsp@


gotwebd: free obj_id and reflist in got_output_file_blame ok stsp@


gotwebd: got_output_file_blame: free lines on error path ok stsp@


gotwebd: free eline in got_gotweb_blame_cb loop ok stsp@


gotwebd: drop superfluous check commit_id is not NULL if got_repo_match_object_id returned successfully. ok stsp@


gotwebd: kill unused id_str in got_output_repo_tree ok stsp@


gotwebd: avoid extra strdups in got_output_repo_tree ok stsp@


gotwebd: avoid extra variable in got_output_repo_tree in_repo_path was used only to build a path, it's then assigned to path (which is NULL at that point.) Just asprintf into path. ok stsp@


gotwebd: plugs leaks in got_get_repo_commits call got_get_repo_commit only once and avoid leaking the field of repo_commit at each loop iteration. ok stsp@


gotwebd: free in_repo_path in got_get_repo_commits; ok stsp@


gotwebd: always free ref in got_get_repo_commits some code-paths may leak it. ok stsp@


gotwebd: don't close tag in got_get_repo_tags too early it's still used a bit later, so defer the free'ing at the next loop iteration or at function end.


gotwebd: free commit_msg0 only at the end of got_get_repo_tags in case of a failure between when it's allocated and when it's released it might get leaked otherwise. ok and semplification stsp@


gotwebd: plug some leaks in got_get_repo_tags ok stsp@


gotwebd: free all allocated fields of repo_tag got_get_repo_tags needs some tweaking to how tag_commit is allocated too. ok stsp@


gotwebd: fix possible leaks when handling errors all very unlikely. part of a bigger diff that's ok stsp@


gotwebd: minor tweaks drop: - a tautological s[strlen(s)] == '\0' - a few duplicates checks - a lone if (error) when it's always NULL - an extra NULL check part of a bigger diff that's ok stsp@


fix dup(2) error checking in got_gotweb_openfile()


in got_operations.c, remove error variables which were only used to return NULL


get rid of (null) on the index page. ok stsp


gotwebd: fix memory leak introduced in d927f8c ok tracey@


gotwebd: make sure to escape possibly unsafe strings this fixes only the HTML escaping of strings, the urlencode is still missig. while here also plug a memory leak in gotweb_render_branches and drop some needless ternary operators. ok tracey@


gotwebd: add fcgi_printf instead of fcgi_gen_response which outputs only a fixed strings provide a printf-like fcgi_printf: it greatly simplifies the generation of the HTML pages. While here also (probably) fix some HTML errors: the output was verified with the W3C validator and it's correct (in the sense that the tags are properly closed, there are still some other things the validator complains about.) ok/encouragement baseprime@, ok jamsek Thanks for reading such a boring diff!


fix overflow in blame callback spotted by noticing gotwebd crashing on some blame requests. Diff from stsp@ with a fix from tracey@, I'm committing it only because he is short on time. ok stsp@