annotate src/condat3/com/include/light.h @ 516:1ed9de6c90bd

src/g23m-gsm/sms/sms_for.c: bogus malloc removed The new error handling code that was not present in TCS211 blob version contains a malloc call that is bogus for 3 reasons: 1) The memory allocation in question is not needed in the first place; 2) libc malloc is used instead of one of the firmware's proper ways; 3) The memory allocation is made inside a function and then never freed, i.e., a memory leak. This bug was caught in gcc-built FreeCalypso fw projects (Citrine and Selenite) because our gcc environment does not allow any use of libc malloc (any reference to malloc produces a link failure), but this code from TCS3.2 is wrong even for Magnetite: if this code path is executed repeatedly over a long time, the many small allocations made by this malloc call without a subsequent free will eventually exhaust the malloc heap provided by the TMS470 environment, malloc will start returning NULL, and the bogus code will treat it as an error. Because the memory allocation in question is not needed at all, the fix entails simply removing it.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 22 Jul 2018 06:04:49 +0000
parents c8bd5a927942
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 +-----------------------------------------------------------------------------
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 | Project : GSM (6301)
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 | Modul :
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 +-----------------------------------------------------------------------------
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 | Copyright 2002 Texas Instruments Berlin, AG
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 | All rights reserved.
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 |
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 | This file is confidential and a trade secret of Texas
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 | Instruments Berlin, AG
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 | The receipt of or possession of this file does not convey
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 | any rights to reproduce or disclose its contents or to
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 | manufacture, use, or sell anything it may describe, in
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 | whole, or in part, without the specific written consent of
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 | Texas Instruments Berlin, AG.
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 +-----------------------------------------------------------------------------
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 | Purpose : Types definitions for the light emitting driver
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 | .
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 +-----------------------------------------------------------------------------
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 #ifndef LIGHT_H
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 #define LIGHT_H
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 * devices
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 #define LIGHT_DEVICE_BACKLIGHT 0
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 #define LIGHT_DEVICE_INSERVICELED 1
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 * device status
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 #define LIGHT_STATUS_OFF 0
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 #define LIGHT_STATUS_ON 1
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 #define LIGHT_STATUS_DIMMED 2
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 #define LIGHT_STATUS_INTERMEDIATE 3
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 #define LIGHT_STATUS_BRIGHT 4
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 #define LIGHT_STATUS_GREEN 5
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 #define LIGHT_STATUS_ORANGE 6
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 #define LIGHT_STATUS_RED 7
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 #if defined (NEW_FRAME)
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 * to achieve backward compatibility with older definitions
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 #define drv_SignalCB_Type T_DRV_CB_FUNC
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 #define drv_SignalID_Type T_DRV_SIGNAL
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 #define T_VSI_THANDLE USHORT
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 #endif
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 * Prototypes
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 EXTERN UBYTE light_Init (void);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 EXTERN void light_Exit (void);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 EXTERN UBYTE light_SetStatus (UBYTE in_DeviceID, UBYTE in_NewStatus);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 EXTERN UBYTE light_GetStatus (UBYTE in_DeviceID, UBYTE * in_StatusPtr);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 void light_setBacklightOn( void );
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 void light_setBacklightIdle( void );
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 void light_setBacklightOff( void );
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 #endif