Applied patch #2762516
[fw/sdcc] / src / izt / aop.c
index a4b88cba1d1be8464ae5e93296ea3ef433b4825c..c4f3d6254a4e80e360646bc4c882e7a51b737a6d 100644 (file)
@@ -42,7 +42,7 @@ asmop *_newForSymbol(symbol *sym, iCode *ic)
     else if (IS_FUNC(sym->type)) {
        // Functions are special.  The symbol is constant and available.
        aop = _new(AOP_TYPE_IMMEDIATE);
-       aop->u.immediate = gc_strdup(sym->rname);
+       aop->u.immediate = Safe_strdup(sym->rname);
        // PENDING: Size of a function pointer.
        aop->size = 2;
     }
@@ -79,7 +79,7 @@ asmop *_newForRemat(symbol *sym)
     sprintf(s, "%s", OP_SYMBOL(IC_LEFT(ic))->rname);
 
     aop->size = getSize(sym->type);
-    aop->u.immediate = gc_strdup(buffer);
+    aop->u.immediate = Safe_strdup(buffer);
     
     return aop;
 };
@@ -87,7 +87,7 @@ asmop *_newForRemat(symbol *sym)
 asmop *_newForTemporary(operand *op, iCode *ic)
 {
     symbol *sym = OP_SYMBOL(op);
-    asmop *aop;
+    asmop *aop = NULL;
 
     if (sym->regType == REG_TYPE_CND) {
        // Conditionals have no size due to being stored in carry.