diff options
author | Balint Reczey <balint@balintreczey.hu> | 2013-10-03 15:42:53 +0200 |
---|---|---|
committer | Balint Reczey <balint@balintreczey.hu> | 2013-10-03 15:42:53 +0200 |
commit | 7c9a327919a42fb5843d0544aff9f2893bbc2876 (patch) | |
tree | f127b0d00c7645a45cc6752dcbbff276a23b3c2f | |
parent | 6fafd23f8af36393ba48fb06d4f771888c983911 (diff) | |
download | libfaketime-7c9a327919a42fb5843d0544aff9f2893bbc2876.tar.gz |
Fix parsing timestamps containing only i... or x...
-rw-r--r-- | src/libfaketime.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libfaketime.c b/src/libfaketime.c index a26e22f..5a5d005 100644 --- a/src/libfaketime.c +++ b/src/libfaketime.c @@ -1311,6 +1311,9 @@ static void parse_ft_string(const char *user_faked_time) user_faked_time_timespec.tv_sec = mktime(&user_faked_time_tm); user_faked_time_timespec.tv_nsec = 0; user_faked_time_set = true; + } else { + perror("Failed to parse FAKETIME timestamp"); + exit(EXIT_FAILURE); } break; @@ -1342,6 +1345,11 @@ static void parse_ft_string(const char *user_faked_time) user_faked_time_timespec.tv_sec = mktime(&user_faked_time_tm); user_faked_time_timespec.tv_nsec = 0; + goto parse_modifiers; + break; + + case 'i': + case 'x': /* Only modifiers are passed, don't fall back to strptime */ parse_modifiers: /* Speed-up / slow-down contributed by Karl Chen in v0.8 */ if (strchr(user_faked_time, 'x') != NULL) |