[vala] Fix null pointer access on out parameter clearing
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Subject: [vala] Fix null pointer access on out parameter clearing
- Date: Thu, 14 May 2009 12:01:14 -0400 (EDT)
commit 75d131e7ec8de571281bdf9cea0d1a7e27f5b14e
Author: Didier 'Ptitjes <ptitjes free fr>
Date: Wed Apr 29 01:26:50 2009 +0200
Fix null pointer access on out parameter clearing
Fixes bug 580667.
Signed-off-by: Didier 'Ptitjes <ptitjes free fr>
---
codegen/valaccodemethodmodule.vala | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala
index f1bdd9a..26a51c3 100644
--- a/codegen/valaccodemethodmodule.vala
+++ b/codegen/valaccodemethodmodule.vala
@@ -421,7 +421,12 @@ internal class Vala.CCodeMethodModule : CCodeStructModule {
} else {
// ensure that the passed reference for output parameter is cleared
var a = new CCodeAssignment (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, get_variable_cexpression (param.name)), new CCodeConstant ("NULL"));
- cinit.append (new CCodeExpressionStatement (a));
+ var cblock = new CCodeBlock ();
+ cblock.add_statement (new CCodeExpressionStatement (a));
+
+ var condition = new CCodeBinaryExpression (CCodeBinaryOperator.INEQUALITY, new CCodeIdentifier (param.name), new CCodeConstant ("NULL"));
+ var if_statement = new CCodeIfStatement (condition, cblock);
+ cinit.append (if_statement);
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]