]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
script: avoid trying fclose(NULL)
authorSami Kerola <kerolasa@iki.fi>
Sat, 16 Apr 2016 16:43:01 +0000 (17:43 +0100)
committerSami Kerola <kerolasa@iki.fi>
Sat, 16 Apr 2016 22:09:26 +0000 (23:09 +0100)
Here is a one-liner to reproduce the issue.

$ mkdir example && cd example && chmod 0500 . && script
Script started, file is typescript
script: cannot open typescript: Permission denied
                                                 Script done, file is typescript
Segmentation fault (core dumped)

Addresses: https://bugs.launchpad.net/bugs/1537518
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
term-utils/script.c

index 279b9ecfe9ec2c097a76d0b8ece0dcdc12eff47c..d691c2231aa7e828880a8005f0c69410bb472de1 100644 (file)
@@ -205,7 +205,8 @@ static void __attribute__((__noreturn__)) done(struct script_control *ctl)
 
        if (ctl->timingfp)
                fclose(ctl->timingfp);
-       fclose(ctl->typescriptfp);
+       if (ctl->typescriptfp)
+               fclose(ctl->typescriptfp);
 
        if (ctl->rc_wanted) {
                if (WIFSIGNALED(ctl->childstatus))