@@ -77,7 +77,7 @@ class Callback<R()> {
77
77
*/
78
78
Callback (R (*func)() = 0 ) {
79
79
if (!func) {
80
- _ops = 0 ;
80
+ memset ( this , 0 , sizeof (Callback)) ;
81
81
} else {
82
82
generate (func);
83
83
}
@@ -590,6 +590,7 @@ class Callback<R()> {
590
590
591
591
MBED_STATIC_ASSERT (sizeof (Callback) - sizeof (_ops) >= sizeof (F),
592
592
" Type F must not exceed the size of the Callback class" );
593
+ memset (this , 0 , sizeof (Callback));
593
594
new (this ) F (f);
594
595
_ops = &ops;
595
596
}
@@ -651,7 +652,7 @@ class Callback<R(A0)> {
651
652
*/
652
653
Callback (R (*func)(A0) = 0 ) {
653
654
if (!func) {
654
- _ops = 0 ;
655
+ memset ( this , 0 , sizeof (Callback)) ;
655
656
} else {
656
657
generate (func);
657
658
}
@@ -1165,6 +1166,7 @@ class Callback<R(A0)> {
1165
1166
1166
1167
MBED_STATIC_ASSERT (sizeof (Callback) - sizeof (_ops) >= sizeof (F),
1167
1168
" Type F must not exceed the size of the Callback class" );
1169
+ memset (this , 0 , sizeof (Callback));
1168
1170
new (this ) F (f);
1169
1171
_ops = &ops;
1170
1172
}
@@ -1226,7 +1228,7 @@ class Callback<R(A0, A1)> {
1226
1228
*/
1227
1229
Callback (R (*func)(A0, A1) = 0 ) {
1228
1230
if (!func) {
1229
- _ops = 0 ;
1231
+ memset ( this , 0 , sizeof (Callback)) ;
1230
1232
} else {
1231
1233
generate (func);
1232
1234
}
@@ -1741,6 +1743,7 @@ class Callback<R(A0, A1)> {
1741
1743
1742
1744
MBED_STATIC_ASSERT (sizeof (Callback) - sizeof (_ops) >= sizeof (F),
1743
1745
" Type F must not exceed the size of the Callback class" );
1746
+ memset (this , 0 , sizeof (Callback));
1744
1747
new (this ) F (f);
1745
1748
_ops = &ops;
1746
1749
}
@@ -1802,7 +1805,7 @@ class Callback<R(A0, A1, A2)> {
1802
1805
*/
1803
1806
Callback (R (*func)(A0, A1, A2) = 0 ) {
1804
1807
if (!func) {
1805
- _ops = 0 ;
1808
+ memset ( this , 0 , sizeof (Callback)) ;
1806
1809
} else {
1807
1810
generate (func);
1808
1811
}
@@ -2318,6 +2321,7 @@ class Callback<R(A0, A1, A2)> {
2318
2321
2319
2322
MBED_STATIC_ASSERT (sizeof (Callback) - sizeof (_ops) >= sizeof (F),
2320
2323
" Type F must not exceed the size of the Callback class" );
2324
+ memset (this , 0 , sizeof (Callback));
2321
2325
new (this ) F (f);
2322
2326
_ops = &ops;
2323
2327
}
@@ -2379,7 +2383,7 @@ class Callback<R(A0, A1, A2, A3)> {
2379
2383
*/
2380
2384
Callback (R (*func)(A0, A1, A2, A3) = 0 ) {
2381
2385
if (!func) {
2382
- _ops = 0 ;
2386
+ memset ( this , 0 , sizeof (Callback)) ;
2383
2387
} else {
2384
2388
generate (func);
2385
2389
}
@@ -2896,6 +2900,7 @@ class Callback<R(A0, A1, A2, A3)> {
2896
2900
2897
2901
MBED_STATIC_ASSERT (sizeof (Callback) - sizeof (_ops) >= sizeof (F),
2898
2902
" Type F must not exceed the size of the Callback class" );
2903
+ memset (this , 0 , sizeof (Callback));
2899
2904
new (this ) F (f);
2900
2905
_ops = &ops;
2901
2906
}
@@ -2957,7 +2962,7 @@ class Callback<R(A0, A1, A2, A3, A4)> {
2957
2962
*/
2958
2963
Callback (R (*func)(A0, A1, A2, A3, A4) = 0 ) {
2959
2964
if (!func) {
2960
- _ops = 0 ;
2965
+ memset ( this , 0 , sizeof (Callback)) ;
2961
2966
} else {
2962
2967
generate (func);
2963
2968
}
@@ -3475,6 +3480,7 @@ class Callback<R(A0, A1, A2, A3, A4)> {
3475
3480
3476
3481
MBED_STATIC_ASSERT (sizeof (Callback) - sizeof (_ops) >= sizeof (F),
3477
3482
" Type F must not exceed the size of the Callback class" );
3483
+ memset (this , 0 , sizeof (Callback));
3478
3484
new (this ) F (f);
3479
3485
_ops = &ops;
3480
3486
}
0 commit comments