uninitialized variable 99/16999/3
Cedric Delamarre [Wed, 5 Aug 2015 16:43:36 +0000 (18:43 +0200)]
test_run graphics bug_14042

Change-Id: I053ff087d06c1238fca79219807c96248ec53ccb

scilab/modules/graphics/src/c/getHandleProperty/get_text_box_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_text_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_diffuse_color_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_specular_color_property.c
scilab/modules/graphics/tests/nonreg_tests/bug_14042.dia.ref [new file with mode: 0644]
scilab/modules/graphics/tests/nonreg_tests/bug_14042.tst [new file with mode: 0644]

index bfb85ec..c480b3b 100644 (file)
@@ -32,7 +32,7 @@
 /*------------------------------------------------------------------------*/
 void* get_text_box_property(void* _pvCtx, int iObjUID)
 {
-    double* size;
+    double* size = NULL;
 
     getGraphicObjectProperty(iObjUID, __GO_TEXT_BOX__, jni_double_vector, (void **)&size);
 
index 6e05399..dad38cc 100644 (file)
@@ -36,8 +36,8 @@
 /*------------------------------------------------------------------------*/
 void* get_text_property(void* _pvCtx, int iObjUID)
 {
-    int* dimensions;
-    char** textMatrix;
+    int* dimensions = NULL;
+    char** textMatrix = NULL;
 
     getGraphicObjectProperty(iObjUID, __GO_TEXT_ARRAY_DIMENSIONS__, jni_int_vector, (void **) &dimensions);
 
index 0952d02..d434a9d 100644 (file)
@@ -27,7 +27,7 @@
 int set_diffuse_color_property(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol)
 {
     BOOL status = FALSE;
-    double * color;
+    double * color = NULL;
 
     if (valueType != sci_matrix)
     {
index 38fae56..1916ba5 100644 (file)
@@ -27,7 +27,7 @@
 int set_specular_color_property(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol)
 {
     BOOL status = FALSE;
-    double * color;
+    double * color = NULL;
 
     if (valueType != sci_matrix)
     {
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_14042.dia.ref b/scilab/modules/graphics/tests/nonreg_tests/bug_14042.dia.ref
new file mode 100644 (file)
index 0000000..e31d06e
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- Non-regression test for bug 13881 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14042
+//
+// <-- Short Description -->
+// Crash cause by reference to an unset handle
+clf;
+xstring(0.1,0.1,"foo1");H(1)=gce();
+xstring(0.1,0.2,"foo1");H(3)=gce();
+assert_checkequal(H.type, ["Text" "????" "Text"]);
+errmsg = msprintf(gettext("''%s'' property does not exist for this handle.\n"), "text");
+assert_checkerror("H(2).text",errmsg);
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_14042.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_14042.tst
new file mode 100644 (file)
index 0000000..be1d342
--- /dev/null
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+
+// <-- Non-regression test for bug 13881 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14042
+//
+// <-- Short Description -->
+// Crash cause by reference to an unset handle
+clf;
+xstring(0.1,0.1,"foo1");H(1)=gce();
+xstring(0.1,0.2,"foo1");H(3)=gce();
+
+assert_checkequal(H.type, ["Text" "????" "Text"]);
+
+errmsg = msprintf(gettext("''%s'' property does not exist for this handle.\n"), "text");
+assert_checkerror("H(2).text",errmsg);