Просмотр исходного кода

ctl: free allocated pointer in case of error

Daniel-Constantin Mierla 11 лет назад
Родитель
Сommit
ccd1593834
1 измененных файлов с 1 добавлено и 0 удалено
  1. 1 0
      modules/ctl/binrpc_run.c

+ 1 - 0
modules/ctl/binrpc_run.c

@@ -804,6 +804,7 @@ inline static str* binrpc_val_conv_str(struct binrpc_ctx* ctx,
 			s=int2str(v->u.intval, &len);
 			ret=ctl_malloc(sizeof(*ret)+len+1);
 			if (ret==0 || binrpc_gc_track(ctx, ret)!=0){
+				if(ret!=0) ctl_free(ret);
 				*err=E_BINRPC_OVERFLOW;
 				return 0;
 			}