on master help sign in
rts: fix unreachable free(buffer)
commitb9190ca6cd9876d487d6936b294fbf96bfc795e3 authorMort Yao <mort.yao@gmail.com> dateMon 13 Apr 2015, 21:36 (12 years ago) parent1cb10f9
1 file changed+4−2
rts/idris_rts.c+4−2
rts/idris_rts.c+4−2
@@ -501,6 +501,7 @@ VAL idris_strlen(VM* vm, VAL l) {
501501}
502502
503503VAL idris_readStr(VM* vm, FILE* h) {
504+ VAL ret;
504505 char *buffer = NULL;
505506 size_t n = 0;
506507 ssize_t len;
@@ -508,11 +509,12 @@ VAL idris_readStr(VM* vm, FILE* h) {
508509 strtok(buffer, "\n");
509510
510511 if (len <= 0) {
511− return MKSTR(vm, "");
512+ ret = MKSTR(vm, "");
512513 } else {
513− return MKSTR(vm, buffer);
514+ ret = MKSTR(vm, buffer);
514515 }
515516 free(buffer);
517+ return ret;
516518}
517519
518520VAL idris_strHead(VM* vm, VAL str) {