aboutsummaryrefslogtreecommitdiff
path: root/termkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'termkey.c')
-rw-r--r--termkey.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/termkey.c b/termkey.c
index a66d951..d322a93 100644
--- a/termkey.c
+++ b/termkey.c
@@ -318,7 +318,8 @@ static TermKey *termkey_new_full(int fd, int flags, size_t buffsize, int waittim
struct TermKeyDriverNode *p;
for(p = tk->drivers; p; p = p->next)
if(p->driver->start_driver)
- (*p->driver->start_driver)(tk, p->info);
+ if(!(*p->driver->start_driver)(tk, p->info))
+ goto abort_free_drivers;
#ifdef DEBUG
fprintf(stderr, "Drivers started; termkey instance %p is ready\n", tk);