summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalint Reczey <balint@balintreczey.hu>2013-10-03 15:42:53 +0200
committerBalint Reczey <balint@balintreczey.hu>2013-10-03 15:42:53 +0200
commit7c9a327919a42fb5843d0544aff9f2893bbc2876 (patch)
treef127b0d00c7645a45cc6752dcbbff276a23b3c2f
parent6fafd23f8af36393ba48fb06d4f771888c983911 (diff)
downloadlibfaketime-7c9a327919a42fb5843d0544aff9f2893bbc2876.tar.gz
Fix parsing timestamps containing only i... or x...
-rw-r--r--src/libfaketime.c8
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)