]> ocean-lang.org Git - ocean/commitdiff
oceani: memdup argument strings when assigning to a variable.
authorNeilBrown <neil@brown.name>
Sat, 11 Oct 2014 06:04:11 +0000 (17:04 +1100)
committerNeilBrown <neil@brown.name>
Sat, 11 Oct 2014 06:04:11 +0000 (17:04 +1100)
string values are assumed to be in malloced memory, so
when assigning a string from the command line, copy it to malloced
memory.

Signed-off-by: NeilBrown <neil@brown.name>
csrc/oceani.mdc

index a202481de1941bd64812ccaeb73abb501af8d5ef..bd2c41afc02a1daa34ed6921fb60ba12e6ea4638 100644 (file)
@@ -400,8 +400,9 @@ when no longer needed.
                case Vnone:
                        return 0;
                case Vstr:
-                       vl->str.txt = arg;
                        vl->str.len = strlen(arg);
+                       vl->str.txt = malloc(vl->str.len);
+                       memcpy(vl->str.txt, arg, vl->str.len);
                        break;
                case Vnum:
                        tx.txt = arg; tx.len = strlen(tx.txt);