]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
cel.c: Fix mismatch in ast_cel_track_event() return type. 65/2265/1
authorRichard Mudgett <rmudgett@digium.com>
Wed, 17 Feb 2016 19:30:06 +0000 (13:30 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 17 Feb 2016 19:59:32 +0000 (13:59 -0600)
The return type of ast_cel_track_event() is not large enough to return all
64 potential bits of the event enable mask.  Fortunately, the defined CEL
events do not really need all 64 bits and the return value is only used to
determine if the requested CEL event is enabled.

* Made the ast_cel_track_event() return 0 or 1 only so the return value
can fit inside an int type instead of zero or a truncated 64 bit non-zero
value.

Change-Id: I783d932320db11a95c7bf7636a72b6fe2566904c

main/cel.c

index 59a5b7ff78e8c7a4dda203ce397e814321fec0cb..8531b5989ea55cf8a96ade9e5a9d6cb6b34fbed2 100644 (file)
@@ -267,7 +267,7 @@ enum ast_cel_event_type ast_cel_str_to_event_type(const char *name)
 
 static int ast_cel_track_event(enum ast_cel_event_type et)
 {
-       return (eventset & ((int64_t) 1 << et));
+       return (eventset & ((int64_t) 1 << et)) ? 1 : 0;
 }
 
 static void parse_events(const char *val)