chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
compute_alias() is now also hardened against tracks outside any
[disorder]
/
server
/
trackdb.c
diff --git
a/server/trackdb.c
b/server/trackdb.c
index ae3a7e268571b68fa4323b3a035fd91cc88336c8..330f16fbc3e0c87be69df7a1cb1d32636452405f 100644
(file)
--- a/
server/trackdb.c
+++ b/
server/trackdb.c
@@
-581,9
+581,15
@@
static int compute_alias(char **aliasp,
const char *s = config->alias, *t, *expansion, *part;
int c, used_db = 0, slash_prefix, err;
struct kvp *at;
const char *s = config->alias, *t, *expansion, *part;
int c, used_db = 0, slash_prefix, err;
struct kvp *at;
+ const char *const root = find_track_root(track);
+ if(!root) {
+ /* Bodge for tracks with no root */
+ *aliasp = 0;
+ return 0;
+ }
dynstr_init(&d);
dynstr_init(&d);
- dynstr_append_string(&d,
find_track_root(track)
);
+ dynstr_append_string(&d,
root
);
while((c = (unsigned char)*s++)) {
if(c != '{') {
dynstr_append(&d, c);
while((c = (unsigned char)*s++)) {
if(c != '{') {
dynstr_append(&d, c);