Fossil SCM
If a badly malformed change artifact corrupts the "mtime" field of the event table, the date can end up being NULL for entries in the timeline. Make sure this does not cause a NULL-pointer deference.
Commit
8407bed76df175504d38423af2f81d0239125ae1
Parent
29b2eebaaa9095e…
1 file changed
+1
+1
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -289,10 +289,11 @@ | ||
| 289 | 289 | const char *zBr = 0; /* Branch */ |
| 290 | 290 | int commentColumn = 3; /* Column containing comment text */ |
| 291 | 291 | int modPending; /* Pending moderation */ |
| 292 | 292 | char zTime[20]; |
| 293 | 293 | |
| 294 | + if( zDate==0 ) zDate = "YYYY-MM-DD HH:MM:SS"; /* Something wrong with the repo */ | |
| 294 | 295 | modPending = moderation_pending(rid); |
| 295 | 296 | if( tagid ){ |
| 296 | 297 | if( modPending ) tagid = -tagid; |
| 297 | 298 | if( tagid==prevTagid ){ |
| 298 | 299 | if( tmFlags & TIMELINE_BRIEF ){ |
| 299 | 300 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -289,10 +289,11 @@ | |
| 289 | const char *zBr = 0; /* Branch */ |
| 290 | int commentColumn = 3; /* Column containing comment text */ |
| 291 | int modPending; /* Pending moderation */ |
| 292 | char zTime[20]; |
| 293 | |
| 294 | modPending = moderation_pending(rid); |
| 295 | if( tagid ){ |
| 296 | if( modPending ) tagid = -tagid; |
| 297 | if( tagid==prevTagid ){ |
| 298 | if( tmFlags & TIMELINE_BRIEF ){ |
| 299 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -289,10 +289,11 @@ | |
| 289 | const char *zBr = 0; /* Branch */ |
| 290 | int commentColumn = 3; /* Column containing comment text */ |
| 291 | int modPending; /* Pending moderation */ |
| 292 | char zTime[20]; |
| 293 | |
| 294 | if( zDate==0 ) zDate = "YYYY-MM-DD HH:MM:SS"; /* Something wrong with the repo */ |
| 295 | modPending = moderation_pending(rid); |
| 296 | if( tagid ){ |
| 297 | if( modPending ) tagid = -tagid; |
| 298 | if( tagid==prevTagid ){ |
| 299 | if( tmFlags & TIMELINE_BRIEF ){ |
| 300 |