git/builtin
Jeff King 3ec832c4b5 config: use xstrfmt in normalize_value
We xmalloc a fixed-size buffer and sprintf into it; this is
OK because the size of our formatting types is finite, but
that's not immediately clear to a reader auditing sprintf
calls. Let's switch to xstrfmt, which is shorter and
obviously correct.

Note that just dropping the common xmalloc here causes gcc
to complain with -Wmaybe-uninitialized. That's because if
"types" does not match any of our known types, we never
write anything into the "normalized" pointer. With the
current code, gcc doesn't notice because we always return a
valid pointer (just one which might point to uninitialized
data, but the compiler doesn't know that). In other words,
the current code is potentially buggy if new types are added
without updating this spot.

So let's take this opportunity to clean up the function a
bit more. We can drop the "normalized" pointer entirely, and
just return directly from each code path. And then add an
assertion at the end in case we haven't covered any cases.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-09-25 10:18:18 -07:00
..
add.c Merge branch 'sb/remove-unused-var-from-builtin-add' into maint 2015-08-19 14:41:33 -07:00
am.c Merge branch 'jc/builtin-am-signoff-regression-fix' 2015-09-08 15:35:05 -07:00
annotate.c annotate: use argv_array 2014-07-16 11:10:11 -07:00
apply.c replace trivial malloc + sprintf / strcpy calls with xstrfmt 2015-09-25 10:18:18 -07:00
archive.c
bisect--helper.c
blame.c memoize common git-path "constant" files 2015-08-10 15:37:14 -07:00
branch.c write_file(): drop "fatal" parameter 2015-08-24 13:09:02 -07:00
bundle.c bundle: verify arguments more strictly 2015-05-08 10:52:11 -07:00
cat-file.c cat-file: sort and de-dup output of --batch-all-objects 2015-06-26 09:24:42 -07:00
check-attr.c standardize usage info string format 2015-01-14 09:32:04 -08:00
check-ignore.c standardize usage info string format 2015-01-14 09:32:04 -08:00
check-mailmap.c standardize usage info string format 2015-01-14 09:32:04 -08:00
check-ref-format.c standardize usage info string format 2015-01-14 09:32:04 -08:00
checkout-index.c prefix_path(): unconditionally free results in the callers 2015-05-05 10:31:51 -07:00
checkout.c Merge branch 'jc/calloc-pathspec' into maint 2015-09-03 19:18:00 -07:00
clean.c Merge branch 'rs/janitorial' into maint 2015-06-16 14:33:47 -07:00
clone.c Merge branch 'jk/guess-repo-name-regression-fix' into maint 2015-08-25 16:09:17 -07:00
column.c standardize usage info string format 2015-01-14 09:32:04 -08:00
commit-tree.c commit-tree: simplify parsing of option -S using skip_prefix() 2014-12-29 09:32:45 -08:00
commit.c Merge branch 'dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update' 2015-09-01 16:31:29 -07:00
config.c config: use xstrfmt in normalize_value 2015-09-25 10:18:18 -07:00
count-objects.c count-objects: report unused files in $GIT_DIR/worktrees/... 2014-12-01 11:00:18 -08:00
credential.c
describe.c Merge branch 'sg/describe-contains' 2015-08-31 15:39:10 -07:00
diff-files.c standardize usage info string format 2015-01-14 09:32:04 -08:00
diff-index.c standardize usage info string format 2015-01-14 09:32:04 -08:00
diff-tree.c standardize usage info string format 2015-01-14 09:32:04 -08:00
diff.c lockfile.h: extract new header file for the functions in lockfile.c 2014-10-01 13:56:14 -07:00
fast-export.c refs: move the remaining ref module declarations to refs.h 2015-06-22 13:17:12 -07:00
fetch-pack.c standardize usage info string format 2015-01-14 09:32:04 -08:00
fetch.c Merge branch 'mh/get-remote-group-fix' into maint 2015-09-03 19:17:48 -07:00
fmt-merge-msg.c refs: move the remaining ref module declarations to refs.h 2015-06-22 13:17:12 -07:00
for-each-ref.c Merge branch 'mh/reporting-broken-refs-from-for-each-ref' into maint 2015-08-03 10:41:31 -07:00
fsck.c fsck: use strbuf to generate alternate directories 2015-09-25 10:18:18 -07:00
gc.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
get-tar-commit-id.c use skip_prefix() to avoid more magic numbers 2014-10-07 11:09:16 -07:00
grep.c Merge branch 'ps/grep-help-all-callback-arg' 2015-04-20 15:28:34 -07:00
hash-object.c Merge branch 'jc/hash-object' into maint 2015-05-26 13:49:25 -07:00
help.c Merge branch 'sb/leaks' 2015-03-20 13:11:53 -07:00
index-pack.c use xsnprintf for generating git object headers 2015-09-25 10:18:18 -07:00
init-db.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
interpret-trailers.c trailer: add interpret-trailers command 2014-10-13 13:55:27 -07:00
log.c builtin/log.c: minor reformat 2015-08-25 13:11:21 -07:00
ls-files.c ps_matched: xcalloc() takes nmemb and then element size 2015-08-20 09:57:38 -07:00
ls-remote.c replace trivial malloc + sprintf / strcpy calls with xstrfmt 2015-09-25 10:18:18 -07:00
ls-tree.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
mailinfo.c standardize usage info string format 2015-01-14 09:32:04 -08:00
mailsplit.c mailsplit: make PATH_MAX buffers dynamic 2015-09-25 10:18:18 -07:00
merge-base.c standardize usage info string format 2015-01-14 09:32:04 -08:00
merge-file.c Merge branch 'ab/merge-file-prefix' 2015-02-22 12:28:25 -08:00
merge-index.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
merge-ours.c
merge-recursive.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
merge-tree.c merge-tree: remove unused df_conflict arguments 2014-09-02 11:02:58 -07:00
merge.c memoize common git-path "constant" files 2015-08-10 15:37:14 -07:00
mktag.c
mktree.c
mv.c standardize usage info string format 2015-01-14 09:32:04 -08:00
name-rev.c replace trivial malloc + sprintf / strcpy calls with xstrfmt 2015-09-25 10:18:18 -07:00
notes.c Merge branch 'jk/notes-merge-config' 2015-08-31 15:39:05 -07:00
pack-objects.c Merge branch 'ah/pack-objects-usage-strings' 2015-09-01 16:31:12 -07:00
pack-redundant.c standardize usage info string format 2015-01-14 09:32:04 -08:00
pack-refs.c standardize usage info string format 2015-01-14 09:32:04 -08:00
patch-id.c patch-id: convert to use struct object_id 2015-03-13 22:43:14 -07:00
prune-packed.c standardize usage info string format 2015-01-14 09:32:04 -08:00
prune.c Merge branch 'nd/multiple-work-trees' 2015-07-13 14:02:02 -07:00
pull.c pull: don't mark values for option "rebase" for translation 2015-09-11 09:50:00 -07:00
push.c push: add a config option push.gpgSign for default signed pushes 2015-08-19 12:58:58 -07:00
read-tree.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
receive-pack.c receive-pack: convert strncpy to xsnprintf 2015-09-25 10:18:18 -07:00
reflog.c Merge branch 'ah/reflog-typofix-in-error' 2015-09-01 16:31:18 -07:00
remote-ext.c use skip_prefix() to avoid more magic numbers 2014-10-07 11:09:16 -07:00
remote-fd.c
remote.c remote.c: drop extraneous local variable from migrate_file 2015-08-10 15:37:12 -07:00
repack.c prefer mkpathdup to mkpath in assignments 2015-08-10 15:37:12 -07:00
replace.c Merge branch 'mh/replace-refs' 2015-08-03 11:01:10 -07:00
rerere.c rerere: release lockfile in non-writing functions 2015-09-01 15:52:54 -07:00
reset.c memoize common git-path "constant" files 2015-08-10 15:37:14 -07:00
rev-list.c rev-list: make it obvious that we do not support notes 2015-08-24 10:33:15 -07:00
rev-parse.c rev-parse --parseopt: allow [*=?!] in argument hints 2015-07-15 10:30:54 -07:00
revert.c standardize usage info string format 2015-01-14 09:32:04 -08:00
rm.c use file_exists() to check if a file exists in the worktree 2015-05-20 13:49:10 -07:00
send-pack.c push: add a config option push.gpgSign for default signed pushes 2015-08-19 12:58:58 -07:00
shortlog.c convert "enum date_mode" into a struct 2015-06-29 11:39:07 -07:00
show-branch.c show-branch: avoid segfault with --reflog of unborn branch 2015-09-25 10:18:18 -07:00
show-ref.c show-ref: place angle brackets around variables in usage string 2015-08-31 09:33:53 -07:00
stripspace.c
symbolic-ref.c standardize usage info string format 2015-01-14 09:32:04 -08:00
tag.c tag, update-ref: improve description of option "create-reflog" 2015-09-11 09:50:02 -07:00
unpack-file.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
unpack-objects.c fsck (receive-pack): allow demoting errors to warnings 2015-06-23 14:27:34 -07:00
update-index.c Merge branch 'nd/untracked-cache' 2015-05-26 13:24:46 -07:00
update-ref.c tag, update-ref: improve description of option "create-reflog" 2015-09-11 09:50:02 -07:00
update-server-info.c
upload-archive.c
var.c
verify-commit.c verify-commit: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
verify-pack.c standardize usage info string format 2015-01-14 09:32:04 -08:00
verify-tag.c verify-tag: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
worktree.c Merge branch 'jc/am-state-fix' 2015-08-31 15:39:03 -07:00
write-tree.c